Java基础
注释:
单行注释
格式:// 注释
多行注释
格式: /* 注释 */
文档注释
格式:/** 注释 */
注意:IDEA生成文档注释 Tools->Generate JavaDoc…(配置文档 -encoding utf-8 -charset uts-8)
关键字:
被Java赋予特定含义的单词
特点:
全部小写
开发工具中对关键字有特殊的颜色标记
常量:
程序运行中不能发生改变的值
常量的分类:
整数 小数 布尔 字符 字符串 null
注意:字符用单引号包裹(只能包裹一个) 字符串用双引号包裹(可以包裹一个或多个)
数据类型:
基本数据类型
整数:byte short int long
小数:float double
字符:char
布尔:boolean
引用数据类型
注意:字符串String不是基本数据类型,整数默认int 小数默认double
数据类型大小:
计算机存储设备(硬件)的最小单位叫做“位(bit)”,也叫作“比特位”。通常用小写“b”表示
计算机中的最小存储单位叫做“字节(byte)”,通常用大写“B”,字节是由连续的八个位组成
一般说数据类型内存占几位是指字节(byte)而不是位(bit)
double是8个字节,图片有误
变量:
程序运行过程中可以发生改变的量
定义格式:
1.只定义:数据类型 变量名;
2.定义并赋值:数据类型 变量名=初始化值(常量);
使用:
取值和修改
取值:直接使用变量名
修改:
格式:变量名=常量;
注意事项:1.使用变量前,变量必须初始化
2.变量名不能重复
3.long和float初始化时,值加上l和f
标识符:
自定义的变量名 类名 方法名
组成:由数字 字母 符号(_,$)
规则
java中的规则:
1.数字不能开头
2.不能使用关键字
3.大小写敏感
4.业内规则:变量名必须有意义
变量名:
标识符为一个单词 ,首字母小写name
多单词组成时,第一个单词首字母小写,其他单词首字母大写。zhangSanName
类名
标识符为一个单词 ,首字母大写 Test
多单词组成时,每个单词首字母大写。ZhangSanName
类型转换:
自动类型转换
把一个范围小的数据类型或变量赋值给一个范围大的数据类型或变量
强制类型转换
把一个范围小的数据类型或变量赋值给一个范围大的数据类型或变量
注意:double->int精度会丢失
运算符
算术运算符
赋值运算符
比较运算符
逻辑运算符
三元运算符
算术运算符:+ - * / % ++ --
++:表示自增
++在前:先加后用
++在后:先用后加
+做拼接使用:如果一个表达式中有多个+,从左向右依次执行
如果+两边有字符串,+做拼接使用
注意:算术运算符包含数据类型的自动提升
赋值运算符:= += -= /=...
例如:x+=2等同于x=x+2
注意:包含强制类型转换
比较(关系)运算符:== != >=...
String判断相等格式:
String.equals(String);
注意:比较的结果为boolean类型
判断等于时,使用==
注意:String判断是否相等时,某些情况下使用==会出问题
应该使用equals进行判断
逻辑运算符:|(or或) || &(and与) && !
区别:一个&,当前左边的结果为false时,会执行右边的
&&,当前左边的结果为false时,不会执行右边的
三元表达式
格式:(关系表达式)?表达式1:表达式2;
执行流程:当关系表达式结果为true执行表达式1
当关系表达式结果为false执行表达式2
键盘录入Scanner
创建对象
Scanner sc=new Scanner(System.in);
接收数据
int a =sc.nextInt();
接收String方式1:sc.next();
接收String方式1:sc.nextLine();
注意:接收String时,
next:不能接收空格,并且到空格或enter结束(从第一个字符开始到空格或enter结束)
nextLine:接收数据直到enter结束
程序流程控制:
顺序
选择(if,switch):用于处理分支
if:
格式1:
if(关系表达式){
语句体;
}
格式2:
if(关系表达式){
语句体1;
}else{
语句体2;
}
格式3:处理多分支
if(关系表达式1){
语句体1;
}else if(关系表达式2){
语句体2;
}
。
。
。
else{
语句体N;
}
switch:
格式:
switch(表达式){
case 值1:
执行语句1;
break;
case 值2:
执行语句2;
break;
...
default:
执行语句n;
break;
}
表达式: 取值范围在jdk1.6只支持四种: byte,short,int , char。jdk1.7以后支持String类型的。
case:后面的值要和表达式进行比较是否相等
break:结束的意思,用来结束switch语句
default:如果case后面的值和表达式都不匹配,执行default中的语句,和if语句中的else类似
注意:case后面的值不能重复
break不写会从判断成立的语句执行到结束
default可写可不写,不会影响程序的执行
循环
while for
whlie:
完整格式:
初始化语句(定义变量并赋值)
while(关系表达式){
循环体;
条件控制语句;
}
初始化语句(定义变量):循环结构什么时候开始,也用于记录循环次数(一条或多条)
条件判断语句:决定了循环什么时候结束(结果为boolean的表达式)
循环语句:循环结构中反复执行的事情(任意语句)
条件控制语句:通过改变变量的值来控制循环次数(常见操作i++,i--等)
do-whle
完整格式:
初始化语句;
do{
循环体;
条件控制语句
}while(关系表达式);
区别:do-while无论循环是否执行,都会先执行一次
for
for语句格式:
for(初始化语句;条件判断语句;条件控制语句){
循环体;
}
执行流程:
1.执行初始化语句
2.执行条件判断语句,结果为true执行循环体。之后执行条件控制语句,然后从2继续执行,结果为false结束循环
do-whiel是先执行再判断,while和for先判断在执行
for中的i是for独有的
死循环的写法:
for(; ; ){}
while(true){}
do{}while(true)
概述:语句之中还有语句
结构概述:
每一个语句都有一个{}表示整体结构,每一个语句之中还有别的语句存在就是语句嵌套
break(跳出), continue(继续)
break:
用在循环和选择语句中,基于条件控制,用于终止语句的执行
continue:
用在循环中,基于条件控制,用于跳过某次语句的执行,继续下一的执行
for(; ; ){}
while(true){}
do{}while(true)
概述:语句之中还有语句
结构概述:
每一个语句都有一个{}表示整体结构,每一个语句之中还有别的语句存在就是语句嵌套
break(跳出), continue(继续)
break:
用在循环和选择语句中,基于条件控制,用于终止语句的执行
continue:
用在循环中,基于条件控制,用于跳过某次语句的执行,继续下一的执行