java预习
1.?java中的关键字
1.关键字概念
被Java语言赋予特定含义的单词
2.关键字的特点
组成关键字的字母全部小写
3.注意事项
goto和const作为保留字存在,目前不使用
类似Editplus这样的高级记事本,针对关键字有特殊颜色,非常直观
注:保留字:在JDK的新版本中可能提升为关键字,或者其他语言有但是为了防止混淆的字 例如:const goto
4.按作用分类的关键字
1. 用于定义数据类型的关键字:
| class | interface | byte | short | int |
|---|---|---|---|---|
| long | float | double | char | boolean |
| void |
2. 用于定义数据类型值的关键字
| true | flase | null |
|---|
3. 用于定义流程控制的关键字
| if | else | switch | case | default |
|---|---|---|---|---|
| while | do | for | break | continue |
| return |
4. 用于定义访问权限修饰符的关键字
| private | protected | public |
|---|
5.用于定义类,函数,变量修饰符的关键字
| abstract | final | static | synchronized |
|---|
6.用于定义类与类之间关系的关键字
| extends | implements |
|---|
7. 用于定义建立实例及引用实例,判断实例的关键字
| new | this | super | instanceof |
|---|
8.用于异常处理的关键字
| try | catch | finally | throw | throws |
|---|
9.用于包的关键字
| package | import |
|---|
10.其他修饰符关键字
| native | strictfp | transient | volatile | assert |
|---|
2.?标识符
1. 概念:
就是给类,接口,方法,变量等起名字时使用的字符序列,叫做标识符.
2.命名规则 (法律)
1.由字母、数字、下划线(_)和美元符号($)组成
2.不能以数字开头
3.区分大小写
4.长度无限制
5.不能是java中的关键字或者保留字
3.命名规范 (道德)
见名知意
驼峰命名法(类和接口用大驼峰命名法,
变量和方法用小驼峰命名法)
4.命名示例
1. 包:(其实就是文件夹,用于解决相同类名问题)
单级文件命名示例:
liuyi
多级文件命名实例:
cn.itcast
2.类或接口(大驼峰命名法)
一个单词命名:
Student
多个单词命名:
HelloWorld
3.方法和变量(小驼峰命名法)
一个单词命名
name//变量命名
main//方法命名
多个单词命名
studentName
4.常量
一个单词命名
MAX
多个个单词命名
STUDENT_MAX_AGE
3.?注释
注释是一个程序员必须要具有的良好编程习惯。
初学者编写程序可以养成习惯:先写注释再写代码**
java注释的三种方法:
//单行注释
/*
多行注释
*/
/**文本注释*/可以使用javadoc命令让文本注释解析到帮助文件中
4.?常量.进制和进制转换
1.概念:
在程序执行过程中值不会发生改变的量叫做常量;
2.分类:
字面值常量:看到一个数据就知道他是什么类型的这就叫做字面量;
//字符串常量
String className='java25';
className='java24'
//整型常量
int aInt=33;
//浮点常量
float aF=34.1f ;
//字符常量
char aChar='1';
//布尔常量
boolean aBlo=true;
//空常量
String className='null';
自定义常量:
5.?变量
概念:变量在程序执行时值会发生改变的量
作用:在内存中开辟内存空间
本质:储存数据的容器
6.?数据类型和类型转换
1.数据类型
一 基本数据类型
1.数值型
整数型:
| 类型 | 占据字节 | bit | 具体范围 |
|---|---|---|---|
| byte | 1字节 | 8bit | -128(-27)~127(27 -1) |
| short | 2字节 | 16bit | -32768(-215)~32767(215-1) |
| int | 4字节 | 32bit | -2,147,483,648(-231)~2,147,483,647(231-1) |
| long | 8字节 | 64bit | -9,223,372,036,854,775,808(-263)~9,223,372,036,854,775,807(263-1) |
浮点型:
float 4字节
double 8字节
2.字符型
char 2字节
3.布尔型
boolean 1字节
true
false
二 引用数据类型
1.类 class
2.接口 interface
3.数组 [ ]
2.简单数据之间类型转换
1.转换规则:
转化从低级到高级(默认自动转换):byte,short,char(三者同级)—> int —> long—> float —> double
1.低级变量可以直接转换为高级变量,称之为自动类型转换
2.高级变量可以直接转换为低级变量:强制类型转换
2.注意事项:
1.byte,short,char三种类型而言,他们是平级的,因此不能相互自动转换,可以使用强制类型转换.
2.如果低级数据类型为char型,向高级类型(整型),转换为对应ASCll码值
3.强制类型转换过程中可能造成数据丢失;
4.强制类型转换时要在需要转换的数据类型前加上 ( );
注:boolean类型不能转换为其他的数据类型
7.?运算符
1.Java中的转义字符的使用:
\ 反斜杠
System.out.println("姓名:\"张三\"");
\n换行转义符
System.out.println();
\t制表符
System.out.println("姓名\t年龄\t 身高");
System.out.println("张三 18 180");
2. +加 -减 * 乘 /除 %取模
加法:
int price=3;
System.out.println("张三" + price)//字符串+整型 整型会自动转换成字符型
除法:java中进行运算的时候,会自动将当前参与运算变量的最大类型,作为运算结果的类型
double age = 5/2;//整型/整型
System.out.println("age=" + age);//2 浮点上下文中的整数除法
double agee = 5.0/2;//浮点型除以整型
System.out.println(agee);//2.5
double agge1=(double)5/2;
System.out.println(agge1);//2.5
3. ++自增 --自减
前置自增 自减:
int num = 3;
System.out.println(++num);//4 先自增后运算
System.out.println(--num);//2 先自减后参与运算
后置自增 自减 :
int num1=4;
int num2=5;
System.out.println((num1--)+num2);
4.赋值赋值运算符
+=加等 -+减等 *=乘等 /=除等 %=取模等
5.关系运算符
大于> 小于< == 等等 !=不等 >=大于等于 <=小于等于
6.逻辑运算符和位运算符
1.逻辑运算符
&与 |或 !非 &&短路与 短语或|| ^异或
| 运算符 | 运算 | 范例 | 结果 |
|---|---|---|---|
| & | 与(and) | false&true | false |
| | | 或(or) | false|true | true |
| ^ | 异或(xor) | false^true | true |
| ! | 非(Not) | !true | false |
| && | 短路与(And) | false&&true | false |
| || | 短路或(OR) | false||true | true |
短路与遇到false后不再执行,直接返回;节省性能
逻辑运算符的优先级
在Java中,运算符的优先级顺序从高到低依次为:
- 后缀运算符:() [] . (点运算符)
- 一元运算符:++ -- ! ~
- 乘性运算符: * / %
- 加性运算符: + -
- 移位运算符: >> >>> <<
- 关系运算符: > >= < <= instanceof
- 相等运算符: == !=
- 位与运算符: &
- 位异或运算符: ^
- 位或运算符: |
- 逻辑与运算符: &&
- 逻辑或运算符: ||
- 三元运算符: ? :
- 赋值运算符: = += -= *= /= %= &= ^= |= <<= >>= >>>=
- 逗号运算符: ,
注意:
- 对于同一优先级的运算符,按照从左到右的顺序计算
- 可以使用括号改变运算顺序
2.位运算符
| << | 空位补0,被移除的最高位丢弃 |
|---|---|
| >> | 被移除的二进制最高位是0,右移后,空位补0;最高位是1,最高位补1 |
| >>> | 被移位二进制最高位无论是0或是1,空位都用0补 |
7.三目运算符(三元运算符)
1.分类
java运算符根据所需表达式(等号右边参与运算)的个数分为:
一元运算:
int num=1; | int num=1 ;
或
int num1=num +1; | int num1=(num+=1);
二元运算:
int num=10+20;
三元运算:
int num=10+20+10;
2.三元运算符:
格式: 逻辑体 ? 满足条件值一 : 满足条件值二;
int zs=10;
int ls=20;
int win =zs>ls?zs:ls;
// 如果zs>ls为true返回win=zs(冒号前面的值),如果zs>ls为false返回ls(冒号后面的值)
System.out.println(win);
8.?语句
1.顺序结构
程序执行顺序从上到下,按顺序执行
2.分支结构(选择结构)
选择结构有特定的语法规则,代码要执行的具体逻辑进行判断,按照不同的选择执行不同的代码.
Java两种提供了选择结构语句:
if语句
1.格式 :if(关系表达式){语句体1 }else
/*Java 成绩大于 90 分,而且音乐成绩大于 80 分,奖励他手机一个;或者 Java 成绩等于 100 分,音乐成绩大于 70 分,也可以奖励他汽车一部*/
public static void main(String[] args) {
byte jasc= 99;
byte musc=82;
if(jasc > 90 && musc >80 ){
System.out.println("恭喜您获得一个新手机");
} else if (jasc==100&&musc>70){
System.out.println("恭喜您获得异步汽车");
}else{
System.out.println("皮带炒肉丝,越炒越好吃");
}
}
switch语句:
格式:
switch(表达式) {
case 值1:
语句体1;
break;
case 值2:
语句体2;
break;
…
default:
语句体n+1;
break;
}
格式解释:
表达式的取值:byte,short,int,char
JDK5以后可以是枚举
JDK7以后可以是String
3.循环结构
循环语句概念:
循环语句可以满足循环的条件的情况下,反复执行的某一段代码,这段代码就称为循环体语句;
循环体语句组成:
初始化语句:一条或者多条语句,这些语句完成一些初始化操作
例:
int a=0; int b=10;
判断条件语句:这是一个boolean 表达式,这个表达式能决定是否执行循环体;
while循环为例
while(a < b){//条件成立执行
}
循环体语句:条件成立时,需要重复执行的代码
例
while(a < b){//条件成立执行
//这个打括号内所有的语句,叫做循环体语句
}
控制条件语句:
控制条件语句在一次循环体结束后,下一次循环判断条件执行前执行。通过用于控制循环条件中的变量,使得循环在合适的时候结束
while(a < b){//条件成立执行
//这个打括号内所有的语句,叫做循环体语句
a++;//这就是控制条件语句
}
1. while循环语句
格式:
初始化语句;
while(判断条件语句) {
循环体语句;
控制条件语句;
}
int a=0; int b=10;
while(a < b){//条件成立执行大括号内的循环体
a++;//控制条件语句
}
2.do...while循环语句
格式:
初始化语句;
do{
循环体语句;
控制条件语句;
}while(判断条件语句)
3.for循环语句
格式:
for(初始化语句;判断条件语句;控制条件语句) {
循环体语句;
}
for(int a=1;a<20;a++){
System.out.println("haha");
//执行循环输出了20次 haha
}
4.for循环和while循环的区别
使用区别:
控制条件语句所控制的那个变量,在for循环结束后,该变量从内存中消失就不能再被访问到了,而while循环结束还控制条件的变量可以继续使用,如果你想继续使用,就用while,否则推荐使用for,for能提高内存的使用效率.
场景区别:
for循环适合针对一个范围判断进行操作;
while循环适合判断次数不明确的操作
5.跳转控制语句
拓展: 保留字:即它们在Java现有版本中没有特殊含义,以后版本可能会作为有特殊含义的词,或者该词虽然在Java中没有特殊含义,以后版本也不打算使用,但在其它语言中有特殊含义,不宜在Java中定义为变量名称等,因为容易混淆。
Java中的goto是保留字,目前不能使用 ;为了弥补想在某个循环直到到某一步就结束的遗憾,java就提供了,break,continue和return来实现控制语句跳转和中断.
break 中断
使用场景: swiitch语句 循环语句;
作用: 跳出当前循环;
continue 继续
使用场景: 循环体语句中;
作用:跳出本次循环;
return 返回
return关键字不是为了跳转出循环体,更常用的功能是结束一个方法,跳转到上层调用的方法;
public class po {
public static void main(String[] arge){
for(int x=0; x<10; x++) {
if(x == 3) {
System.out.println("退出");
return;//条件成熟跳出当前class方法
}
System.out.println(x);
}
System.out.println("over");//所以不输出
}
}
//结束循环其实是结束了main方法