java语言基础知识笔记
目录
1.Java开发环境:
1)java编译运行过程:----------常见面试题
* 2)名词解释:------------------常见面试题
3)配置环境变量:--------------了解(用到的时候再带着大家装)
2.eclipse:IDE集成开发环境(带图形界面的功能强大的开发工具)
1)IBM公司的、开源的、免费的,不需要安装,仅需解压即可
2)开发步骤:
* 3)注释:解释性文本
1.变量:存数的
1)声明:----相当于在银行开了个帐户
2)初始化:----相当于给帐户存钱
3)使用:----使用的是帐户里面的钱
* 4)命名:
* 2.八种基本数据类型:byte,short,int,long,float,double,boolean,char
1)int:整型,4个字节,-21个多亿到21个多亿(-2147483648 ~ 2147483647)
2)long:长整型,8个字节,很大很大很大
3)double:浮点型,8个字节,很大很大很大
4)boolean:布尔型,1个字节
5)char:字符型,2个字节
3.类型间的转换:
1.运算符:
1)算术运算符
+,-,,/,%,++,--
2)关系运算符:
>,<,>=,<=,==,!= boolean
3)逻辑运算符:
&&,||,! boolean
4)赋值运算符:
=,+=,-=,*=,/=,%=
5)字符串连接运算符:
+
6)条件/三目运算符:
boolean?语句1:语句2
boolean值为true执行语句1;boolean值为false执行语句2
2.分支结构:
1)if结构: 1条路
2)if...else结构: 2条路
1,Scanner接受用户输入的数据
1)在package下:
2)在main中:
3)在第二步之后:
1)if结构:1条
2)if...else结构 :2条
3)if...else if结构:多条
4)switch...case结构:多条路
3,循环结构:
while 结构:
1)语句:
2)执行过程:
3)for语句
* 2.三种循环结构的最佳适用情况:
* 3.break与continue
4.嵌套结构:
5.数组:
1)数组也是一种数据类型(引用数据类型)
2)数组是相同数据类型元素的集合
3)定义:
4)数组的初始化:---初始化数组中的数据
5)数组的访问:
6)数组的遍历:从头到尾看
7)数组的复制:
8)数组的排序
2.方法(函数、过程):
3.方法的定义:
5.return:
1)return值:
2)return; :
1.Java开发环境:
1)java编译运行过程:----------常见面试题
1.1)编译期:.java源文件,经过编译,生成.class字节码文件
1.2)运行期:JVM加载.class并运行.class(0和1)
特点:跨平台、一次编程到处使用
* 2)名词解释:------------------常见面试题
2.1)JVM:java虚拟机
加载.class并运行.class
2.2)JRE:java运行环境
除了包含JVM以外还包含了运行java程序所必须的环境
JRE=JVM+java系统类库(小零件)
2.3)JDK:java开发工具包
除了包含JRE以外还包含了开发java程序所必须的命令工具
JDK=JRE+编译、运行等命令工具
说明:
1)运行java程序的最小环境为JRE
2)开发java程序的最小环境为JDK
3)配置环境变量:--------------了解(用到的时候再带着大家装)
3.1)JAVA_HOME:指向jdk的安装目录
3.2)CLASSPATH:表示类的搜索路径,一般简写为.
3.3)PATH:指向jdk下的bin目录
2.eclipse:IDE集成开发环境(带图形界面的功能强大的开发工具)
1)IBM公司的、开源的、免费的,不需要安装,仅需解压即可
2)开发步骤:
2.1)新建Java项目/工程-------------小区
2.2)新建Java包--------------------楼+单元
2.3)新建Java类--------------------房子
main中: System.out.println("hello");
* 3)注释:解释性文本
3.1)单行注释://
3.2)多行注释:/* */
3.3)文档注释:/** */
1.变量:存数的
1)声明:----相当于在银行开了个帐户
int a; //声明一个整型的变量,名为a
int b,c,d; //声明三个整型的变量,名为b,c,d
2)初始化:----相当于给帐户存钱
int a = 250; //声明整型变量a并赋值为250
int a; //声明整型变量a
a = 250; //给变量a赋值为250
3)使用:----使用的是帐户里面的钱
3.1)对变量的使用就是对它所存的那个数的使用
int a = 5;
int b = a+10; //取出a的值5,加10后,再赋值给变量b
System.out.println(b); //输出变量b的值15
System.out.println("b"); //输出b,双引号中的原样输出
a = a+10; //取出a的值5,加10后,再赋值给a
//在a本身基础之上增10
System.out.println(a); //15
3.2)变量在用之前必须声明并初始化
//System.out.println(m); //编译错误,变量m未声明
int m;
//System.out.println(m); //编译错误,变量m未初始化
* 4)命名:
4.1)只能包含字母、数字、_和$符,并且不能以数字开头
4.2)严格区分大小写
4.3)不能使用关键字
4.4)允许中文命名,但不建议,
建议"英文的见名知意"、"驼峰命名法"
* 2.八种基本数据类型:byte,short,int,long,float,double,boolean,char
1)int:整型,4个字节,-21个多亿到21个多亿(-2147483648 ~ 2147483647)
1.1)整数直接量默认为int类型,但不能超范围,若超范围则编译错误
1.2)两个整数相除,结果还是整数,小数位无条件舍弃(不会四舍五入)
1.3)运算时若超出范围,会发生溢出(溢出不是错误,但需要避免)
2)long:长整型,8个字节,很大很大很大
2.1)长整型直接量需要数字后加L或l(建议用L)
2.2)float型在后面加F或f
3)double:浮点型,8个字节,很大很大很大
4)boolean:布尔型,1个字节
5)char:字符型,2个字节
3.类型间的转换:
byte short char 通常转换为int计算
Day03
1.运算符:
1)算术运算符
+,-,,/,%,++,--
2)关系运算符:
>,<,>=,<=,==,!= boolean
3)逻辑运算符:
&&,||,! boolean
4)赋值运算符:
=,+=,-=,*=,/=,%=
5)字符串连接运算符:
+
6)条件/三目运算符:
boolean?语句1:语句2
boolean值为true执行语句1;boolean值为false执行语句2
2.分支结构:
基于条件执行的语句
1)if结构: 1条路
2)if...else结构: 2条路
if(boolean){语句块}boolean flag = true;if(flag){}int a = 5;if(a>2){}int a = 5;if(a>2 && a<10){}
任何复杂的程序逻辑都可以通过三种结构来实现:
1)顺序结构:从上往下逐行执行,每句必走
2)分支结构:有条件的执行某语句,并非每句必走
3)循环结构:
Day04
1,Scanner接受用户输入的数据
1)在package下:
import java.util.Scanner;
2)在main中:
Scanner com = new Scanner(System.in);
3)在第二步之后:
int command = com.nextInt();
2,分支结构
1)if结构:1条
2)if...else结构 :2条
3)if...else if结构:多条
语句:
if(boolean—1){语句块1}elseif(boolean—2){语句块2}elseif(boolean—3){语句块3}else{语句块4}
执行过程:
判断boolean-1,结果为true则执行语句块1,若执行条件为false则
执行boolean-2,结果为true则执行语句块2,若执行条件为false则
执行boolean-3,结果为true则执行语句块3,若执行条件为false则
执行语句块4
4)switch...case结构:多条路
优点:效率高、结构清晰
缺点:只能对整数来判断、相等
break:跳出switch
int num = 2;
switch (num){//byte,short,int,char,string(jdk 1.7后可以支持)
case 1://if(num ==1)
System.out.println(1);
case 2://以此为入口
System.out.println(2);
break;//跳出switch
case 3://以此为入口
System.out.println(3);
default://所有case都未匹配时在执行
System.out.println(3);
}
3,循环结构:
1)
while(boolean){//执行多次执行体 //执行多次}
while 结构:
1)语句:
while(boolean){语句块}
2)执行过程:
判断boolean的值,若为true则执行语句块;
判断boolean的值,若为true则执行语句块;
判断boolean的值,若为true则执行语句块;
如此反复,直到boolean的值为false时结束2)
do{执行体}while(boolean)
1)语句:
do{语句块}while(boolean)
2)执行过程:
执行语句块,
判断boolean的值,若为true则执行语句块;
判断boolean的值,若为true则执行语句块;
判断boolean的值,若为true则执行语句块;
如此反复,直到boolean的值为false时结束
1)顺序结构:从上到下逐行执行,每句必走
2)分支结构:有条件的执行某语句一次,并非每句都走
3)循环结构:有条件的执行某语句多次,并非每句都走
if(boolean){//执行一次执行体 //执行一次 }
3)for语句
for(初始条件 1 ; 判断条件 2; 改变条件 3 ){循环体 4;}
或
初始条件1;for(;判断条件2;){循环体4改变条件3;}
执行过程:(1 2 4 3 2 4 3 2)
执行初始条件1
执行判断条件2 若为true,则执行循环体4,在执行改变条件3;
执行判断条件2 若为true,则执行循环体4,在执行改变条件3:
......
执行判断条件2 若为true,则执行循环体4,在执行改变条件3:
执行判断条件2 若为false,则for循环结束
for(;;){//没有条件的循环是死循环
执行体
}
* 2.三种循环结构的最佳适用情况:
1)先看循环是否与次数相关
(1)若与次数相关-------for循环--------------打印机类型
(2)若与次数无关,再看要素1与要素3是否相同
相同时-----do...while 语句循环-------猜数字游戏
不同时-----while语句循环
* 3.break与continue
break:循环中看到break就跳出循环(在某种特殊条件下提前结束循环)
当多层嵌套时,只用于跳出一层循环
continue:跳过循环体中的剩余语句,进入下一次循环(不能出现在switch语句中)
4.嵌套结构:
1)循环中套循环, 一般多行多列时使用,外层控制行,内层控制列
2)执行规则:外层循环走一次,内层循环走所有次
3)建议:嵌套层数越少越好,能有一层就不用两层,能用两层就不用三层
若业务必须通过三层以上的循环来解决,说明设计有问题
4)break只能跳出当前层循环
\t:水平制表位(占8位)
5.数组:
1)数组也是一种数据类型(引用数据类型)
2)数组是相同数据类型元素的集合
3)定义:
int[] arr = new int [10];
//声明整型数组arr,包含10个元素
//每个元素都是int类型,默认值为0
4)数组的初始化:---初始化数组中的数据
int[] arr = new int [4]; //0,0,0,0int[] arr = {1,4,5,8};//1,4,5,8int[] arr = new int []{1,4,5,8};//1,4,5,8
int[] arr;arr = {1,4,5,8};//编译错误,此方式只能声明同时初始化arr = new []{1,4,5,8};//正确
5)数组的访问:
----访问数组中的数据
(1)通过(数组名.length)可以获得数组的长度(元素的个数)
int [] arr = new int [5];Systrem.out.println("arr.length");
(2)通过下标/索引来访问数组中的元素
下表从0开始,最大到(数组长度-1)
int[] arr = new int [3];arr[0] = 100;//给arr第1个元素赋值为100;arr[1] = 100;//给arr第1个元素赋值为200;arr[2] = 100;//给arr第3个元素赋值为300;arr[3] = 400;//运行时,会发生数组下标超出界限(越界)的异常
System.out.println (arr.length);//输出数组长度System.out.println (arr[arr.length-1]);//输出arr中最后一个数组
6)数组的遍历:从头到尾看
int[] arr = new int [10];for (int i = 0;i <arr.length;i++){//遍历数组arr[i] = 100;//给每个元素都赋值为100arr[i] = (int)(Math.Random.()*100)//赋值100内的随机数System,out.println(arr[i]);//输出每个元素}
7)数组的复制:
方式1:(灵活性更好)
int[] a ={10,20,30,40,50};int[] b =new int[6];System.arraycopy(a, 1, b, 0, 4);//System.arraycopy(src, srcPos, dest, destPos, length);//a:源数组(src)//1:源数组的起始下标(srcPos)//b:目标数组(dest)//0:目标数组的起始下标(destPos)//4:要复制的元素个数(length)
注意:此方式容易溢出!编译出现错误
方式2:(灵活性差)i
int[] a = {2,5,3,8,6,7};int[] b = Arrays.copyOf(a, 6);//int[] b = Arrays.copyOf(original, newLength);//a:源数组(original)//b:目标数组//6:目标数组的长度(元素个数)(newLength)//--若目标数组长度大于源数组长度,则末尾补默认值0//--若目标数组长度小于源数组长度,则从末尾截掉
a = Arrays.copyOf(a;a.length+1);//数组扩容
8)数组的排序
常用的排序方法:冒泡排序、插入排序、快速排序---执行效率不算太高
冒泡排序---工作中永远不会写,但是一个常见面试题
排序分类:升序(从小到大)/降序(从大到小)
- Arrays.sort(arr);//对arr进行升序排列
(2)升序排列:
for (int i = 0; i < arr.length; i++) {Arrays.sort(arr);System.out.print(arr[i]+"\t");}
降序排列:
for(int i=arr.length-1;i>=0;i--) {System.out.print(arr[i]+"\t");}
2.方法(函数、过程):
1)封装一段特定的业务逻辑功能
2)方法尽可能独立,一个方法只干一件事
3)方法可以被反复调用多次
4)减少代码重复,有利于代码的复用;有利于团队的协作
3.方法的定义:
五要素:修饰词 返回值类型 方法名(参数列表){方法体}
1)修饰词:public
2)返回值类型:方法可有返回值,也可没有返回值
无返回值时:返回值类型写成void
有返回值时:返回值类型写成特定的数据类型
返回值有误判断:
方法执行完后
(1)若还需要用到方法中的某个数据-----有返回值
(2)若不再需要用到方法中的某个数据---无返回值
3)方法名:见明知义,驼峰命名
4)参数列表:方法可有参,也可无参
参数: 定义方法时的参数为 形参-----String name/int i...
调用方法时的参数为 实参-----int i=3/lisi/12
有参数:方法更加灵活
无参数:
5)方法体:
4.方法的调用:
1)无返回值:方法名(有参传参)
2)有返回值:若有返回值,则在的方法中必须通过return来返回数据
并且return后的书必须与返回值类型匹配
数据类型 变量 = 方法名(有参传参)
5.return:
1)return值:
(1)结束方法的执行
(2)返回结果给调用方
--用在有返回值的方法中
2)return; :
(1)结束方法的执行
(2)在某种特定条件下提前结束方法
java语言基础知识笔记相关推荐
- java入门学习笔记(二)—— Eclipse入门学习之快捷键、java语言基础知识之各类关键字及其用法简析
一.Eclipse入门学习 1. 快捷键 对于一个编辑器,快捷键必不可少,是十分好用且有效的工具. 对于一个初学者,首先掌握了如下快捷键. (很多通用的快捷键不多说) Ctrl + / -- 注释当前 ...
- 计算机java语言教程,计算机JAVA教程二讲Java语言基础知识.doc
计算机JAVA教程二讲Java语言基础知识 2.1简单数据类型 2.1.1 标识符和保留字 1.标识符 程序员对程序中的各个元素加以命名时使用的命名记号称为标识符(identifier).Java语言 ...
- python代码计算矩形面积_学习资料Python语言基础知识笔记以及答案
01. Python语言基础知识等笔记: 02. Python作业答案: [例2-3]通过输入函数input()输入股票代码.股票名称.当天股票最高价和最低价,通过输出函数print()输出股票代码+ ...
- Java语言基础知识(一)
前言 Java是一门高级计算机语言,由美国Sun公司(Stanford University Network)在1995年推出(现Sun公司已经被Oracle公司收购 ).要想学好Java,基础是至关 ...
- Java后端基础知识笔记
文章目录 Java后端基础内容 前言 作用域 servlet 1.设置编码: 2.Servlet的继承关系 - 重点查看的是服务方法(service()) 3.servlet生命周期 4.配置xml文 ...
- Java 语言基础知识
1.Java语言概述 Java是一门面向对象的编程语言,其吸收了C++语言的各种优点,还把C++里难以理解的多继承.指针等一系列概念摒弃掉.其功能强大,简单易用.可跨平台.其有三种技术架构:JAVAE ...
- java语言基础知识(完整版)
目录 一.java开发环境 二.名词解释 1.JVM 三.eclipse 1.定义 四.注释 1.解释性文本 2.其他注释 五.变量 4.命名规则 六.八种数据基本类型 七.数据类型之间的转换 1.自 ...
- Java语言基础学习笔记——基础语法
一.标识符 1:取名必须以_,$或者字母开头 2:变量必须先声明,赋值后才能使用 3:内存管理 4部分:1) code segment 存放代码 ...
- Java语言基础(笔记)
java基础 java开发环境: 编译运行过程: 编译期:.java源文件,经过编译,生成.class字节码文件 运行期:JVM加载.class并运行.class(0和1) 特点:跨平台.一次编程到处 ...
最新文章
- Charles抓包实战详解
- sublime使用笔记
- Android MVP模式 简单易懂的介绍方式
- shell 后台执行脚本
- 本体开发方法——the Method of Ontology Development
- 傅立叶变换、拉普拉斯变换、Z变换之间 篇一
- java类似php魔术方法_PHP与类有关的几个魔术方法
- 将涡轮增压器添加到JEE Apps
- 【转】Asp.net的生命周期之应用程序生命周期
- python选取特定行_pandas.DataFrame选取/排除特定行的方法
- 超越SiamRPN++,SiamMan达到目标跟踪新SOTA
- python字典是什么数据结构_数据结构-Python 字典
- 经典同步问题二——哲学家进餐问题
- 报表 labview_干货!24个LabVIEW初学者常见问题及解答汇总
- 计算机算平方根原理,算术平方根与计算器
- R语言实战 第2版 中文目录
- uniapp链接生成二维码
- 30岁转行做大数据分析师可行性高吗?
- 第6期(江西省吉安市永丰县)县长手机信箱工作简报(自吹自擂政绩,自圆其说)
- 纷享销客2022新增长系列之《高科技行业橙皮书》重磅发布