1.java中的常量大体分为两种:
<1>字面量常量
<2>自定义常量
2.java中常量(字面量)的分类:
<1>,整数常量:直接出现的整数
<2>,小数常量:直接出现的小数
<3>,布尔(boolean)型常量:只有两个值:true 和 false
<4>,字符常量:将一个数字,字母或者符号用单引号('')括起来
<5>,字符串常量:将一个或者多个字符用双引号("")括起来
<6>,null常量:只有一个数值:null
*/
public class ConstantDemo{
public static void main(String[] args){
System.out.println(100);//整数常量
//不同进制的表示形式
System.out.println(010);//8
//打印语句默认输出的数值都是十进制
System.out.println(0XFF);//255
System.out.println(0B111);//
/*
System.out.println(3.14);//浮点数常量
System.out.println(true);//布尔型常量
System.out.println(false);//布尔型常量
System.out.println('a');//字符常量
System.out.println('中');//字符常量
// System.out.println('');//字符常量不能为空
//System.out.println('ab');//字符常量只能出现一个字符
System.out.println('@');//ok
System.out.println(' ');//ok
System.out.println("");//字符串常量
System.out.println("H");//字符串常量
System.out.println(" ");//字符串常量
*/
}
}
3.变量
<1>定义:在程序运行过程中,其值可以在一定范围内发生变化的量
<2>作用:为了使用内存空间.
4.定义变量的格式
<1>变量定义和赋值一次性完成
eg:
数据类型 变量名 = 初始化值;
<2>先定义,后赋值
数据类型 变量名;
变量名 = 初始化值;
整型的默认值:int
浮点数默认值:double
5.变量的作用域
变量定义的{}就是变量的作用域,变量只能在自己的作用域内有效,出了定义变量的作用域,就不能再使用了.
6.java中的数据类型
<1>基础数据类型(四类八种)
数值型 >>>整型:byte short int long
>>>浮点型:float double
字符型:char
布尔型:boolean
<2>引用数据类型
类(class)
接口(interface)
数组(array)
7.基础数据类型的类型转换
<1>隐式转换:从小范围到大范围
eg:
long lon = 120;
***基础数据类型隐式转换图
<2>显式转换:从大范围到小范围
eg:
byte b = (byte)120L;
<3>boolean类型不参与类型转换
/* 演示变量使用: 定义格式: 1.定义和赋值一起 数据类型 变量名 = 初始值; 2.先定义,后赋值 数据类型 变量名; .... 变量名 = 初始值; 基本数据类型:四类八种 字节数 整型 byte 1 short 2 int 4 long 8 浮点型 float 4 double 8 字符型 char 2 布尔型 boolean 1 引用数据类型:类,接口,数组 */ public class VariableDemo{ public static void main(String[] args){ //定义一个byte型变量,初始值20 // byte b = 20;//20肯定是int型,由于它在byte的表数范围之内,系统自动转成byte型的20 // System.out.println(b);//20 // // // b = 30; // System.out.println(b);//30 // System.out.println(Byte.MAX_VALUE); // System.out.println(Byte.MIN_VALUE); // byte b2 = 128;//错误: 不兼容的类型: 从int转换到byte可能会有损失 // byte b2 = -129;//错误: 不兼容的类型: 从int转换到byte可能会有损失 // short s1 = -32768; // System.out.println(s1); // int max = Integer.MAX_VALUE; // System.out.println(max);//2147483647 // System.out.println(Integer.MIN_VALUE); // long lon = 16L; // System.out.println(Long.MAX_VALUE);//9223372036854775807 // System.out.println(Long.MIN_VALUE);//-9223372036854775808 // float f = 3.14F; // System.out.println(f); // double d = 3.14; // System.out.println(d); // boolean bol = true; // boolean bol2 = false; // char ch = 'a'; // char ch2 = 97; // String s = "Hello";//引用数据类型变量:s,String类变量 // System.out.println(s); int ii = 20; //第一个作用域 { int i = 10; //byte i ;//错误: 已在方法 main(String[])中定义了变量 i // int i = 20;//错误: 已在方法 main(String[])中定义了变量 i // System.out.println(i); } //第二个作用域 { int i = 10; System.out.println(ii); // System.out.println(i);//找不到符号 } } }
/* 演示类型转换 想要进行运算的变量必须是同样的类型 1.隐式类型转换 byte --> int int --> long 从小范围到大范围自动转换 2.显式类型转换 把需要转换的目标类型用()括起来: byte b = (byte) (20L); */ public class TypeConvertDemo{ public static void main(String[] args){ // int i = 10; // byte b = 10; // long lon = 10L; // long res = b + lon; // byte res = i + b;//系统将byte型隐式转换成int型 // System.out.println(i + b); // long lon = 20L; // byte b = (byte)lon; // System.out.println(b); // long lon = 256L; // byte b = (byte)lon; // System.out.println(b);//高位截断,只保留低八位 // char ch = 'a';//97 // System.out.println(ch + 0);//97 // char ch2 = 97; // System.out.println(ch2);// // char ch3 = 98; // System.out.println(ch3);// // char ch4 = 36; // System.out.println(ch4);// // byte b = 10; // // short s = b; // char ch = b; // System.out.println('a'); // System.out.println('a' + 1); // int i = 98; // System.out.println((char)i); // byte b1=3,b2=4,b; // b=b1+b2;//错误: 不兼容的类型: 从int转换到byte可能会有损失 // b=3+4;//ok // double d = 128.14; // byte i = (byte)d;//小数点后截断 // System.out.println(d);//被截断的是d的副本 byte b = (byte)130; System.out.println(b); } }