常量:在程序的 执行过程中,其值不发生改变的量!
常量的分类:两大类——字面值常量和自定义常量
字面值常量:字符串常量、字符常量、整数常量、小数常量、布尔常量、空常量
字符串常量:使用双引号括起来的内容--- "hello","helloworld","我爱高圆圆,你们呢?"
字符串+任何数据="新的字符串" //此时的+是字符串拼接符号
任何数据+"字符串" = "新的字符串" //此时的+是字符串拼接符号
System.out.println("hello,高圆圆") ;
System.out.println("hello World ....") ;
System.out.println("hello"+7) ; //"hello"+7="hello7"
System.out.println("7"); //"7",字符串7,而非整数int 7
System.out.println(98+"=5+5") ;//98=5+5
字符常量:使用单引号括起来的单个内容 'a','b','0','A','B'
'ab':不行 jvm就认为是一个字符串
当字符不参与运算的时候:本身就是描述的就是字符本身的值
如果字符参与运算的时候,字符就会寻找对应的ASCII码表的值,进行运算!
System.out.println('A') ;
System.out.println('B') ;
System.out.println('C') ;
System.out.println('0') ;
System.out.println('A'+1) ;//此时的+是运算符符号
System.out.println('a'+1) ;
System.out.println('0'+1) ;
//'0'---ASCII码的值 :48 数字字符
//'A'---ASCII码的值 :65 大写字母字符
//'a'---ASCII码的值 :97 小写字母字符
整数常量:包括"进制",二进制,八进制,十进制(整数默认),十六进制
System.out.println(100) ;
System.out.println(9527) ;
System.out.println(19) ;
System.out.println(008) ; //此时八进制,八进制是以"0"开头
小数常量:
System.out.println(1.3415926) ;
System.out.println(1.34-12.56) ;
//减法/除法:小数计算(可能无限近似某个值,计算机的伪计算!)
//Jdk后期提供了一个类BigDecimal(小数的精确计算)
布尔常量:
System.out.println(true) ;
System.out.println(false) ;
空常量:null---引用数据类型的默认值就是null(特殊的引用String)
//Java数据类型--- 基本类型/引用类型
class Test{
public static void main(String[] args){
String s = null ; //引用类型
String s2 = "" ; //有内容,不过是空串
System.out.println(s) ;
System.out.println("s2:"+s2+"---") ; //"s2:"
}
}
自定义常量:(面向对象中讲解---final关键字)
2.变量以及变量的分类(重点/理解/识记)变量:在程序的执行过程中,其值发生改变的量!
变量的三要素:
1)数据类型
2)变量名:按照标识符的组成规则: 遵循 "小驼峰命名法"
3)初始化值:如果变量使用之前都没有赋值,就"报错了"
格式
数据类型 变量名 = 初始化值 ;
int age = 20 ;
Java中的数据类型(重点):两大类——基本数据类型和引用数据类型
1)基本数据类型(四大类型,8种)
整数类型:默认int类型
byte 字节类型 (占用的字节数1个字节) (-128~127:范围)
short 短整类型 (占用的字节数 2个字节)
int 默认类型 (占用的字节数 4个字节)
long 长整型 (占用字节数 8个)
实际开发中:整数使用最多int
其次long(以后用作定义时间--记录当前系统时间毫秒值(后期学习类---日期-->毫秒值))
//举例:jdk提供的 System类:里面有一个方法:获取当前系统时间毫秒值
public static long currentTimeMillis()
long time = System.currentTimeMillis() ;
System.out.println(time) ;
浮点类型:默认就是double类型 实际开发中使用最多的就是double了! (举例:商品的价格(商城价格/市场价格)..)
float 单精度类型 (占4个字节)
double 双精度类型 (占8个字节)
字符类型
char 占两个字节数
char ch = 'A' ;
char ch = '我' ;
ch = 'A' ;
ch = '0' ;
System.out.println("ch:"+ch) ; //'0'
布尔类型 不参与运算(只是提供判断不和其他数据类型转换 ) (占1个字节)
boolean (true/false)
boolean flag = true ; //一般情况变量 flag(标记)
System.out.println("flag:"+flag) ;
2)引用数据类型:类,数组,接口(后期研究的方向)
定义变量的注意事项
1)定义long类型必须在值的后面加上标记:L或者l 这样就表示定义的是长整型的变量
long l = 100000000000L; //建议使用L
System.out.println("l的值是:"+l) ;
2)浮点类型默认double,定义单精度float类型的时候,后面的值需要加上标记:F或者f即可!
float f = 12.56F;
System.out.println("f:"+f) ;
class DataTypeTest{
public static void main(String[] args){
//同一行定义了多个变量
byte b, b1 = 3,b2 = 4 ;
//1)
//b = b1+ b2;//不兼容的类型: 从int转换到byte可能会有损失
//b = (byte)(b1+b2) ; //解决格式:强转
//System.out.println("b:"+b) ;
//2)
b = 3+4 ; //常量相加,先相加,然后看其的结果是否在byte类型 取值范围内,
//在的话,就直接赋值
//超过范围了 (默认整数int类型---强转解决)
System.out.println("b:"+b) ;
}
}
定义的时候的注意事项:
1)同一个变量,不能被定义多次(重复定义),这种情况是因为Java是一个强类型语言
强类型语言:语法和格式是非常严谨的! (Java语言)
若类型语言:Javascript(前端Js)
js定义变量 var a = 10 ;(分号可以不写,var也可以不写)
2)实际开发中,不建议同一行上定义多个变量(不适合阅读)
一行同时定义多个变量(面试题/笔试题中出现居多)
3)方法定义中的变量:局部变量,它在使用之前必须进行初始化否则报错!
1)要么定义的变量的时候就初始化了
数据类型 变量名 = 初始化值;
2)要么就先去定义,然后在使用之前必须初始化
数据类型 变量名; //声明变量
变量名 = 初始化; //然后初始化了
4)语句结束,都是以"分号结束" ; (英文字符)
class DataTypeDemo3{
public static void main(String[] args){
//定义变量变量
int a = 4 ; //int类型
byte b = 3 ;//byte类型
//两个数据求和
int result = a + b ; //变量相加了
//int result = a + b //先将一个字节的b---直接提升int----变成4个字节3
//结果数据类型:是int类型 = 四个字节的7(int类型)
System.out.println("result:"+result) ;//result:7
}
}
class DataTypeDemo4{
public static void main(String[] args){
//定义这俩个变量
int a = 4 ;
byte b = 3 ;
//结果类型byte
//b提示为int类型
//byte result = a + b ; //错误: 不兼容的类型: 从int转换到byte可能会有损失
// 目标数据类型 变量名 = (目标数据类型)(结果) ;
byte result = (byte)(a+b) ;
System.out.println("result的结果是:"+result) ;//result的结果是:7 (byte类型)
}
}
class DataTypeTest2{
public static void main(String[] args){
//定义一个变量
//byte b = 129 ; //错误: 不兼容的类型: 从int转换到byte可能会有损失
//解决方案:强转类型转换
//格式:目标数据类型 变量名 = (目标数据类型)(结果);
byte b = (byte)129 ;
System.out.println("b:"+b) ; //b:-127 程序运行出来的结果
}
}
class DataTypeTest3{
public static void main(String[] args){
System.out.println("hello"+'a'+1) ; //"hello"+'a'="helloa"+1 ="helloa1"
System.out.println('A'+1+"hello"+"world"+"JavaEE!");
//66+"hello"="66hello"+"world"="66helloworld"+"JavaEE!"="66helloworldJavaEE!"
System.out.println("-----------------------------") ;
System.out.println("5+5="+5+5) ;//"5+5=5"+5="5+5=55"
System.out.println(5+5+"=5+5") ; //10+"=5+5" = "10=5+5"
//int a = 10 ;
//System.out.println(a+"") ;
}
}



