变量
变量存在于内存中(程序结束、计算机关机之后 变量失效
变量像宾馆
宾馆:1.申请房间类型(单人间、双人间、...) 2.入住(b209) 3.使用
变量:1.声明数据类型(整数、小数、字符串、....) 2.赋值(变量名) 3.使用
java数据类型:
a.引用数据类型(对象类型):
String ...字符串(放任意字符,并且需要用 双引号引起来)
b.基本数据类型(基本数据类型):8个
数字:
整数:byte < short < int < long 默认int
小数:float < double 默认double
一般性原则: 尽量使用 最小范围。 int age = ...
非数字:
字符char : 只能放一个 字符。并且需要用 单引号引起来
布尔boolean : 只有true/false
数据类型大小:
1byte = 8bit
1KB = 1024Byte (字节) = 8*1024bit
字节 byte = 8位(-128-- 127)
短整数 short = 2字节 (16位)
整数int = 4字节 (32位)
长整数long = 8字节 (64位)
整数范围<小数范围
float = 4byte(32bit)
double = 8byte(64bit)
数值类型转换器
a.小数 不带转换器:
float x = 123.4 ;是错的。按以下方法解决
float xx = 123.4f ;
float xxaa = (float)123.4 ;
b.整数自带转换器:
byte b = 123 ;
变量名
变量名可以代表变量值
System.out.println(b); 表示输出123
变量名不能重复(房间号不能重复)
变量区分大小写(java区分大小写)
(局部)变量使用前必须赋初值
变量命名规则(强制性):
首字母 + 其他
myFirstNum = m + yFirstNum
a.首字母: 各国语言,下划线,钱
b.其他:首字母 + 数字
c.不能是关键字 (idea中蓝色字体 都是关键字 )
d.符号只能是下划线、钱
从控制台输入:
Scanner input = new Scanner(System.in);
input.nextXxx() ;接收各种类型(除了char)
接收字符串:
next() 、nextLine()
String name = input.next() ;
String name = input.nextLine() ;
next() 和nextLine()的区别:
next()不接收空格、回车,并且将空格、回车作为终止符号
nextLine()接收空格、回车
数据类型的转换:
1.自动转换
范围小的类型 可以自动转换(赋值给)为范围大的类型
范围小的类型遇到范围大的类型,自动转为范围大的
int a = 10 +3.14 ; int= double ×
整数<小数
“最大是字符串” :任何类型遇到字符串,自动转为字符串
char<int
java默认使用unicode编码 (unicode兼容于ascii)
char ch = 'A' ;
System.out.println(ch);
System.out.println(ch+0);
2.强制转换
范围大的 赋值给 范围小的,必须强转
通用写法:
范围小 = (小类型)范围大 ;
特殊:
float x = 1234.5f ;
运算符:
a.数字运算符:
+ 、\-、 *、 \
b.关系运算符(比较运算符):
> < >= <= == !=
字符串 相等 equals()
关系运算符运算结果:布尔值
c.逻辑运算符:
!:不等于
真 且 假 ->结果 是真?假?
两个符号:根据真值表判断 (短路特性)
&&
||
一个符号:一切都会判断
&
|