Java学习Day3(第二章变量)
2.3 变量
2.3.1概念
①内存中的一个存储区域
②该区域的数据可以在同一类型范围内不断变化
③变量是程序中最基本的存储单元,包含变量类型,变量名和存储的值
2.3.2变量的意义
用于在内存中保存数据
2.3.3变量的使用
/*
变量的使用
1.java定义变量的格式:数据类型 变量名=变量值;
2.说明:
①变量必须先声明后使用
②变量都定义在其作用域内,在作用域内,它是有效的,换句话说,出了作用域,就失效了。
③同一个作用域内不可以声明两个同名的变量
*/
class VariableTest{
public static void main(String[] args){
//变量的定义
int myAge=12;
//变量的使用
System.out.println(myAge);
//变量的声明
int myNumber;
//变量的赋值
myNumber = 1001;
}
}
public void method(){
int myClass=0;
}2.3.4数据类型说明
/*
Java定义的数据类型
一、变量按照数据类型来分:
基本数据类型:
整型:byte\ short\ int \long
浮点型:float\double
字符型:char
布尔型:boolean
引用数据类型:
类:(class)
接口:(interface)
数组:(array)
二、变量在类中声明的位置
成员变量 VS 局部变量
*/
class VariableTest1{
public static void main(String[] args){
//1.整型:byte(1字节=8bit)short(2字节)\int(4字节)\long(8字节)
//①byte范围:-128~127
byte b1=12;
byte b2=-128;
//b2=129;编译不通过
//②long型变量必须以小写l或大写L结尾
//③常用int
short s1=128;
int i1=1234;
long l1=34124L;//加L
//2.浮点型
//float(单精度,四个字节)
//double(双精度,8字节)
//①浮点型:表示带小数点的数值
//②float表示数值的范围比long还大
double d1 = 123.3;
System.out.println(d1+1);
//③定义float变量时,末尾要以f或F结尾
float f1 = 12.3F;
System.out.println(f1);
//④通常使用double
//3.字符型:char(1字符=2字节)
//①定义char型变量,通常用一对'',内部只能写一个字符
char c1 ='a';
System.out.println(c1);
//②表示方式:1.声明一个字符2.转义字3.直接用Unicode值来表示字符型常量
char c5 = '\n';//换行符
c5='\t';//制表符
System.out.print("hello"+c5);
System.out.println("world");
char c6 = '\u0123';
System.out.println(c6);
//4.布尔型:boolean
//① 只能取两个值之一:True False
//②常常在条件判断,循环结构中使用
boolean bb1 = true;
System.out.println(bb1);
boolean isMarried = true;
if(isMarried){
System.out.println("你不能参加单身party了");
}
else{
System.out.println("你可以参加");
}
}
}2.3.5 基本数据类型之间的运算规则
/*
基本数据类型之间的运算规则:
前提:这里讨论的只是7种数据类型变量间的运算,不包含boolean类型的。
1.自动类型提升:
结论:当容量小的数据类型的变量与容量大的数据类型做运算时,结果自动提升为容量大的数据类型
byte --> short --> int --> long --> float --> double
特别的,当byte,char,short三种类型的变量做运算时,结果为int类型
2.强制类型转换:见VariableTest3.java
说明:此时的容量大小指的是,表示数的范围的大和小,比如:float容量要大于long的容量
*/
class VariableTest2 {
public static void main(String[] args) {
byte b1=2;
int i1=129;
int b2=b1 + i1;
System.out.println(b2);
}
}2.4不同进制的表示方式
二进制首位为符号位,0则该数为正数,1则该数为负数
负数源码:符号位为1,其他正常
反码:除符号位外,各个位取反
补码:反码+1
十进制-->二进制:除2取余的逆 逆(反过来看)
二进制-->八进制 由低往高三个一位
二进制-->十六进制 四个一位
/*
计算机中不同进制的使用说明
对于整数,有四种表示方式:
二进制(binary):0,1,满2进1,以0b或0B开头
十进制(decimal):0-9,满十进一
八进制(octal):0-7,满8进1,以数字0开头表示
十六进制(hex):0-9及A-F,满16进1,以0x或0X开头表示,此处的A-F不区分大小写
*/
class BinaryTest {
public static void main(String[] args) {
int num1 = 0b110;
int num2 = 110;
int num3 = 0127;
int num4 = 0x110A;
System.out.println("num1 = " +num1);
System.out.println("num2 = " +num2);
System.out.println("num3 = " +num3);
System.out.println("num4 = " +num4);
}
}
2
