1.关键字 & 标识符
关键字:被java语言赋予特殊意义的字符串(单词),例如:abstract,int,void,return.....
标识符:凡是自己可以起名字的地方都叫标识符
命名规则:(一定要遵守,不遵守就会报编译的错误)
由26大小写字母,0-9数字,_或$组成。
数字不可以开头
不可以使用关键字或保留字,但是可以包含它们
java中严格区分大小写,但是无长度限制
标识符无限制
Java中的名称命名规范:(不遵守,也不会出现编译的错误)
包名:全部小写.
类名,接口名:多单词组成,所有单词的首字母大写:XxxxYyyyZzzz.
变量名,方法名:多单词组成,首字母小写,第二个单词开始大写:xxxxYyyyZzzz.
2.变量
1,java中的类型分为基本数据类型和引用数据类型(数组,接口,类)
基本数据类型:
整型:byte ,short ,int ,long
浮点型:float,double(默认类型)
字符型:char
布尔类型:boolean
变量的运算:
自动类型转换:容量小的数据类型自动转换为容量大的数据类型
强制类型转换:自动类型的逆过程,使用"()"实现强转
3.运算符
运算符是一种特殊的符号,用以表示数据的运算、赋值和比较等。
算术运算符:
+ - + - * / % ++ -- +
注意:1) /: int i = 12; i = i / 5;
2) %:最后的符号只跟被模数相同
3)前++:先+1,后运算 后++:先运算,后+1
4)+:String字符串与其他数据类型只能做连接运算,且结果为String类型。sysout('*' + '\t' + '*'); vs sysout("*" + '\t' + '*');
赋值运算符:
= += -= *= /= %=
int i= 12;
i = i * 5;
i *= 5;//与上一行代码同样的意思
【特别地】
short s = 10
s = s + 5;//报编译的异常
s = (short)(s + 5);
s += 5;//s = s + 5,但是结果不会改变s的数据类型。
比较运算符(关系运算符)
== > < >= <= instanceof
【注意】区分== 与 = 区别。
进行比较运算操作以后,返回一个boolean类型的值
4>=3 表达的是4 > 3或者 4 = 3.结果是true。
if(i > 1 && i < 10){ }
不能写为:if(1 < i < 10){}
逻辑运算符(运算符的两端是boolean值)
& && | || ^ !
【注意】区分 & 与 && 的区别,以及 | 与 || 的区别
&&和|| 会短路
我们使用的时候,选择&& , ||
位运算符(两端是数值类型的数据)
<< >> >>> & | ^ ~
【例子】1.如何交换m = 12和n = 5的值
2.将60转换为十六进制输出。
三元运算符
(条件表达式)? 表达式1 : 表达式2;
1)既然是运算符,一定会返回一个结果,并且结果的数据类型与表达式1,2的类型一致
2)表达式1与表达式2 的数据类型一致。
3)使用三元运算符的,一定可以转换为if-else。反之不一定成立。
例子:获取两个数的较大值;获取三个数的最大值。
4.流程控制
1.顺序结构
>程序从上往下的顺序执行
2.分支结构:
if-else
switch-case
3.循环结构:
while(){}
do{}while()
for(;;){}
1.分支结构:
①if(条件表达式){ }
②if(条件表达式){
//执行的语句1;
}else{
//执行的语句2;
}
③if(条件表达式1){
//执行的语句1;
}else if(条件表达式2){
//执行的语句2;
}else if( 条件表达式3){
//执行的语句3;
}...
}else{
//执行的语句;
}
【注意】
1.一旦满足某个条件表达式,则进入其执行语句块执行,执行完毕,跳出当前的条件判断结构,不会执行其以下的条件结构语句。
2.如果诸多个条件表达式之间为“互斥”关系,多个结构可以上下调换顺序
如果诸多个条件表达式之间为“包含”关系,要求条件表达式范围小的写在范围大的上面。
2.选择结构
switch(变量){
case 值1:
//break;
case 值2:
//break;
...
default:
break;
}
【注意】
1.变量可以为如下的数据类型:byte short int char 枚举 String
2.case后只能填写变量的值,不能写范围。
3.default是可以省略的。并且其位置也是灵活的,但是通常将其放在case语句之后。
4.一旦满足某个case语句,则进入执行其操作。直至遇到break或者程序终止。
5.若要判断的语句的条件满足switch变量的数据类型,且值不多的情况下,建议选择switch-case .
除此之外,选择if-else.
3循环结构
1.格式
①初始化条件
②循环条件
③迭代部分
④循环体
for(①;②;③){④}
①
while(②){④③}
①
do{
④
③
}while(②)
注:1,不同循环体之间可以相互转换
2,do-while至少循环一次
break & continue
break:跳出当前循环
continue:跳出当次循环
5.数组
相同数据类型的组合
数组初始化:
int[] a=new int[]{'a','b','c'};//静态初始化:在声明并初始化数组与给数组赋值同时进行
int[] b=new int[3];//动态初始化
注:不管是动态还是静态初始化数组,一定在创建的时候,就指明了数组的长度!
2.如何引用数组元素:通过数组的下角标的方式。下角标从0开始,到n-1结束。其中n为数组的长度。
3.数组的长度:通过数组的属性length来调用。
5.关于数组元素的默认初始化值
1)byte short int long 而言:0
2)float double 而言:0.0
3)char而言:空格
4)boolean而言:false
5)引用类型变量而言:null
数组常见异常:
1.数组下标越界异常:java.lang.ArrayIndexOutOfBoundsException
int[] i=new int[10]
i[10]=5//越界
2.空指针异常:NullPointerException
字符串数字 i[3]=null 不会报错
求数组的最大值,最小值,和,平均数
数组的反转:
不确定参数个数方法