示例:
public class Demo04 { public static void main(String[] args) { //高->低 强制类型转换 (类型)变量名 int num1 = 128; byte num2 = (byte)num1; System.out.println(num2); //内存溢出,输出-128 //低->高 自动类型转换 double num3 = num1; System.out.println(num3); //输出128.0 //精度丢失 float f = 3.5F; double d = 3.5; System.out.println((int)f); //输出3 System.out.println((int)d); //输出3 //计算中的类型转型,应先转型,再计算 int money = 10_0000_0000; //整数中可以任意使用下划线分割 int years = 20; int total1 = money*years; System.out.println(total1); //输出-1474836480,即结果溢出 long total2 = money*years; System.out.println(total2); //输出-1474836480,即结果溢出 long total3 = money*((long)years); System.out.println(total3); //输出20000000000,即结果正确 } } 变量在Java语言中,所有的变量在使用前必须声明。声明变量的基本格式如下:
type varname [ = value] [, varname[= value] ...]; //类型 变量名 = 值; 可以使用逗号隔开来同时声明多个同类型变量,但不推荐这么做注意事项:
每个变量都有类型,可以是基本类型,也可以是引用类型。
变量名必须是合法的标识符。
变量声明是一条完整的语句,因此每一个声明都必须以分号结束。
变量名尽量遵守首字母小写的驼峰原则,例如:num、lastName、redApple、studentsNameList。
示例:
public class Demo05 { public static void main(String[] args) { int num = 123; String name = "惟妙惟霄"; char x = 'X'; double pi = 3.14159; } }Java语言支持的变量类型有:
类变量:独立于方法之外,且用 static 修饰的变量。
实例变量:独立于方法之外,不用 static 修饰的变量。
局部变量:位于方法之中的变量。
示例:
public class Demo06 { //实例变量:从属于对象。可以不进行初始化,会赋默认值。 int a; //整数类型的默认值为0 boolean b; //布尔型的默认值为false String c; //引用类型的默认值为null //类变量:从属于类。使用static修饰。可以不进行初始化,会赋默认值。 static int d; //main方法 public static void main(String[] args) { //局部变量:必须声明且必须初始化值 int i = 10; System.out.println(i); //实例变量 Demo06 demo06 = new Demo06(); //需创建实例 System.out.println(demo06.a); //输出0 System.out.println(demo06.b); //输出false System.out.println(demo06.c); //输出null demo06.a = 10; System.out.println(demo06.a); //输出10 demo06.b = true; System.out.println(demo06.c); //输出true demo06.c = "惟妙惟霄"; System.out.println(demo06.c); //输出惟妙惟霄 //类变量 System.out.println(d); //输出0 d = 12; System.out.println(d); //输出12 } } 常量定义:常量是初始化后无法再次改动的值。常量名一般使用大写字符和下划线。其基本的声明格式如下:
final 类型 常量名 = 值; //例如: final double PI = 3.14;示例:
public class Demo07 { //static与final都是修饰符,不存在先后顺序 static final double PI = 3.14; public static void main(String[] args) { System.out.println(PI); //输出3.14 } } 运算符Java语言支持以下运算符:
算术运算符:+、-、*、/、%、++、--
关系运算符:>、<、>=、<=、==、!=、instanceof
位运算符:&、|、^、~、>>、<<、>>>
逻辑运算符:&&、||、!
赋值运算符:=、+=、-=、*=、/=
条件运算符: ?:
其他运算符
算数运算符示例:
package operator; public class Demo01 { public static void main(String[] args) { int a = 10; int b = 20; int c = 30; int d = 40; //二元运算符 System.out.println(a+b); //加法运算,输出30 System.out.println(b-c); //减法运算,输出-10 System.out.println(c*d); //乘法运算,输出1200 System.out.println(a/(double)d); //除法运算,输出0.25 System.out.println(d%c); //取余运算,输出10 //一元运算符 System.out.println(a); //输出10 System.out.println(a++); //输出10。当++在后时,先运算,后自增。 System.out.println(a); //输出11 System.out.println(++a); //输出12。当++在前时,先自增,后运算。 //利用Math类进行运算 double e = Math.pow(2, 3); System.out.println(e); //输出8,即2的3次方 int f = Math.abs(-5); System.out.println(f); //输出5,即-5的绝对值 } } 关系运算符示例:
package operator; public class Demo02 { public static void main(String[] args) { //关系运算的返回结果是布尔类型,即结果只有true或false int a = 10; int b = 20; System.out.println(a>b); //输出false System.out.println(a<b); //输出true System.out.println(a==b); //输出false System.out.println(a!=b); //输出true } } 逻辑运算符