语言基础:
( 1 )
1.JVM:java虚拟机( 加载.class并运行.class)
2.JRE:java运行环境(JVM+java系统类库(小零件))
3.JDK:java开发工具包(JRE+编译、运行等命令工具)
( 2 )
1.编译期:.java源文件,经过编译,生成.class字节码文件
2.运行期:JVM加载.class并运行.class(0和1)
( 3 )
1.八大基本数据类型:
( 1 )
byte 、short、int、long、(前4个为整形)(字符)、float(单精度)、double(双精度)、boolean(判断)
1.byte的取值范围为-128~127,占用1个字节(-2的7次方到2的7次方-1)
2.short的取值范围为-32768~32767,占用2个字节(-2的15次方到2的15次方-1)
3.int的取值范围为(-2147483648~2147483647),占用4个字节(-2的31次方到2的31次方-1)
4.long的取值范围为(-9223372036854774808~9223372036854774807),占用8个字节(-2的63次方到2的63次方-1)
补充:
一、两个整数相除,为整数,小数位舍弃,运算时若有可能溢出。
二、建议在第1个数字后加L,浮点数直接量默认为double型,若表示float需在数字后加F或f。
三、boolean:布尔型,1个字节。
四、表现的形式是字符char,但本质上是码int(0到65535之间),ASCII码:‘a’—97 ‘A’—65 ‘0’—48。
( 4 )
类型间的转换:
基本类型由小到大依次为:
1. byte----short----int----long----float----double
char----
2. 两种方式:
自动/隐式类型转换:小类型到大类型
强制类型转换:大类型到小类型 语法:(要转换成为的数据类型)变量
例: int a=5, b=5;
byte c=(byte)(a+b)
long d = a+b;
注意:强转有可能发生溢出或丢失精度
3.两点规则:
整数直接量可以直接赋值给byte,short,char,但不能超出范围
byte,short,char型数据参与运算时,系统一律自动将其转换为int再运算
________________________________________________________
(1) 运算符:
1、算术:+,-,*,/,%,++,–
2、关系:>,<,>=,<=,==,!= boolean
3、逻辑:&&,||,! boolean
4、赋值:=,+=,-=,*=,/=,%=
5、字符串连接:+
6、条件/三目:boolean?数1:数2
(2) 分支结构:基于条件执行的语句
8、if结构:1条路
9、if…else结构:2条路
(1)if…else if结构:多条路
语法 if(boolean-1){
语句块1
}else if(boolean-2){
语句块2
}else if(boolean-3){
语句块3
}else{
语句块4
}
执行过程:
判断boolean-1,若为true则执行语句块1(结束),若为false则
再判断boolean-2,若为true则执行语句块2(结束),若为false则
再判断boolean-3,若为true则执行语句块3(结束),若为false则 执行语句块4(结束)
例:
boolean h = 3>2||3<2;
boolean j = 3>2&&3<2;
if (h){
System.out.println("见fale则fale");//短路
}else if (j){
System.out.println("见true则true");
}
(2) switch…case结构:多条路
2、优点:效率高、结构清晰
3、缺点:只能对整数判断相等
4、break:跳出switch
5、常见面试题:switch可以作用于什么类型的数据上
-------------------------byte,short,int,char,String,枚举类型(主要整型)
例:
switch (3){ //命令
case 1:
System.out.println("吃饭");//加break 相当于中断操作 不加就全部走一遍
break;
case 2:
System.out.println("睡觉");
case 3:
System.out.println("喝水");
}
(3)1. 循环:反复多次执行一段相同或相似的代码
2. 循环三要素:
循环变量的初始化循环的条件(以循环变量为基础)循环变量的改变(向着循环的结束变)
循环变量:在整个循环过程中所反复改变的那个数
循环结构:
while结构:先判断后执行,有可能一次都不执行
语法:
while(boolean){undefined
语句块-------------反复执行的代码
}执行过程:
判断boolean的值,若为true则执行语句块,
再判断boolean的值,若为true则再执行语句块,
再判断boolean的值,若为true则再执行语句块,
如此反复,直到boolean的值为false时,while循环结束例:
System.out.println("请输入数字"); Scanner scanner = new Scanner(System.in); int num = scanner.nextInt(); int b = 50; while (num!=b){ //为true 反复执行 直到为false if(num>b){ System.out.println("大了"); }else { System.out.println("小了"); } System.out.println("猜吧"); num =scanner.nextInt(); } System.out.println("猜对了");
while结构:先判断后执行,有可能一次都不执行do…while结构:先执行后判断,至少执行一次
要素1与要素3相同时,首选do…while
例:
Scanner scan = new Scanner(System.in);
int num = (int)(Math.random()*1000+1); //1到1000之内的随机数
System.out.println(num); //作弊//假设num=250
//300(大),200(小),250(对)
int guess;
do{
System.out.println("猜吧!");
guess = scan.nextInt(); //1+3
if(guess>num){
System.out.println("太大了");
}else if(guessSystem.out.println("太小了");
}else{
System.out.println("恭喜你猜对了");
}
}while(guess!=num); //2
}
————————————————————————————————
10.附加Scanner的用法:
class Goover {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);//扫描仪
System.out.println("输入您的姓名:");
String name =scan.nextLine();//扫描
System.out.println("名字叫:"+name);//输出
_________________________________________________________________________



