jdk,jre,jvm分别是什么?

jre是java的运行环境,jdk是java的开发工具包,jvm是java虚拟机。jre包含了jvm,jdk又包含了jre,所以安装时jre可以不用安装,直接安装jdk。

java环境配置注意点

classpath:临时环境变量(早期使用,现在不用)
classpath环境执行流程:在配置的临时环境变量的路径寻找是否存在.class文件,如果存在,则执行,如果不存在,则无法加载主类。
path环境执行流程:先在当前目录寻找.java文件,如果存在,执行,不存在,再去path路径查找,存在则执行,不存在,不执行。

类型转换注意问题

1.默认类型转换 byte,short,char三者不会相互转换,一旦三者中间的某个类型参与运算,提升为int类型。
2.强制类型转换 会损失数据的精度,能不强转尽量不强转,使用于基本数据类型和引用数据类型。 变量相加时,先判断类型,然后看是否存在默认提升数据类型,接受数据类型是否符合。 常量相加时,先相加,然后看结果是否在接受数据类型的范围内。

举例子:
short   s   =   1;
s    =    s  +  1;         本句是错误的,正确写法s  =  (short)(s  +  1);
s    +=   1;
由此例子可以看出s  =   s  +   1相当于s  +=  1;s  +=    1等价于s   =(short)(s  +  1)。

逻辑表达式易错点:

逻辑双与&&与逻辑单与&区别 &&连接的表达式左边如果为false,右边的表达式不执行.&连接的表达式左右都执行.
逻辑双或||与逻辑单或|区别 ||连接的表达式左边如果为true,右边的表达式不执行.|连接的表达式左右都执行. 位异或^特点:
当一个数据对另一个数据异或两次,其值是它本身. aba = b

三元运算符与if else区别

相同点:两者都可以求两个数或者三个数的最大值或者最小值 不同点:三元运算符连接的是两个数据的数据值(针对数据值进行比较或者判断)
if格式是一种流程控制语句,不仅仅可以判断两个数值,还可以操作具体语句
总之,三元运算符能做的,if可以做,三元运算符不能做的,if也可以做.(在开发中,针对业务逻辑判断使用if)

if esle求最大值:

import java.util.Scanner;
class IfDemo04{
	public static void main(String[] args){
		Scanner sc = new Scanner(System.in);
		System.out.println("请输入三个数字:");
		int a = sc.nextInt();
		int b = sc.nextInt();
		int c = sc.nextInt();
		int max;
		if(a>b){
			if(a>c){
				max = a;
			}else{
				max = c;
			}
		}else{
			if(b>c){
				max = b;
			}else{
				max = c;
			}
		}
		System.out.println("max =" + max);
	}
}

三元运算符比较两个数,三个数最大值:

import java.util.Scanner;
class Test01{
	public static void main(String[] args){
		Scanner sc = new Scanner(System.in);
		System.out.println("输入两个整数:");
		int a = sc.nextInt();
		int b = sc.nextInt();
		int max = a>b?a:b;
		System.out.println("max =" + max);
		System.out.println("============================");
		System.out.println("输入三个整数:");
		int a1 = sc.nextInt();
		int b1 = sc.nextInt();
		int c = sc.nextInt();
		int temp = a1>b1?a1:b1;
		int max1 = temp>c?temp:c;
		System.out.println("max1 =" + max1);
	}
}

有关switch的知识

switch后面的表达式可以是什么类型?

可以是byte,short,int,char
jdk1.5后可以跟枚举(enum)类型
jdk1.7后可以跟string类型

switch语句注意事项:

1.default语句可以放在任何位置,不影响执行流程,如果在语句中,需要加break,否则会造成case穿透.
2.switch语句的结束条件:(1)遇见break结束(2)程序默认执行到末尾
3.case语句后面的值,只能是常量,不能是变量.