java互联网架构软件工程师——第一阶段
Day02–数据类型+运算符
文章目录
前言
# 学习内容:
1、 了解标识符,变量 2、 掌握 8大基本类型 3、数据类型的字面值和数据的类型转换 4、运算规则提示:以下是本篇文章正文内容,下面案例可供参考
一、标识符,变量
1.1标识符
可以简单的理解为一个名字。在Java中,我们需要标识代码的很多元素,包括类名、方法、字段、变量、包名等。我们选择的名称就称为标识符,并且遵循以下规则:A. 标识符可以由字母、数字、下划线(_)、美元符($)组成,但 不能包含 @、%、空格等其它特殊字符。
B. 不能以数字开头。
C. 标识符是严格区分大小写的。
D. 标识符的命名最好能反映出其作用,做到见名知意。
1.2 关键字
在java语言中已经被赋予特定意义的一些单词。一共有53个关键字。
其中有两个保留字:const和goto。关键字不能被用作标识符!!
1.2 变量和常量
1.2.1变量
在JAVA中,有的数据值是不固定的,总在变,我们还需要记录这些值,我们可以把这些值理解为变量。
我们通过三个元素来描述变量:变量类型,变量名以及变量值。
int age=18; //声明int类型的变量并赋值
String tel; //声明String类型的变量
注意:
1、 变量名必须是一个有效的标识符。
2、 变量名不可以使用java关键字
3、 变量名不能重复
1.2.1常量
在程序运行过程中一致不会改变的量成为常量。
二、数据类型
2.1 基本数据类型
位bit 字节byte 1byte=8bit
测试基本数据类型的取值范围
代码如下(示例):
//测试取值范围
public class Test1 {
public static void main(String[] args) {
//整数型 byte short int long
//变量的三要素:变量类型 变量名=变量值
byte x = -128;//定义变量,记录byte最小值
byte y = 127;//定义变量,记录byte最大值
System.out.println(x);//打印x的值
System.out.println(y);//打印y的值
}
}
2.2 变量变换
测试变量值的交换
代码如下(示例):
//测试 变量值的交换
public class Test3 {
public static void main(String[] args) {
//1,定义变量a b
int a = 1;//TODO 动态接收键盘输入的值
int b = 2;
//2,开始交换
int c = a ;//定义c,记录a的值
a = b ;//a没值了,等着赋值,把b的值给a
b = c ;//把c的值交给b
//TODO 3,打印值 --用+拼接字符串
System.out.println("a=2,b=1");
//TODO 交换m n的值
}
}
三 、基本类型的字面值(5条)
书写代码理解,代码如下(示例):
//测试 基本类型的字面值
public class Test1 {
public static void main(String[] args) {
//1,小数字面值的类型默认就是double
double a = 9.3 ;
//2,整数的字面值默认就是int类型
int b = 10000 ;
//3,如果在范围内,可以直接赋值
char c = 65535 ;//0~65535
//4,字面值后缀l f d l/L -> long f/F -> float d/D -> double
float d = 9.3f;
//后缀f--把9.3从默认的double类型变成float类型
long e = 22000000000000L ;
//后缀L--把右侧的整数从默认的int类型变成long类型
double f = 3d ;
//后缀d--把3从默认的int类型转成double类型
//5,进制前缀 -- 了解
//二进制 -- 0b???
//八进制 -- 0??
//十进制
//十六进制 --0x????
}
}
四 、基本类型的类型转换
概述: 把大类型和小类型的数据进行互转(个人理解)
测试 类型转换
代码如下(示例):
//测试 类型转换
public class Test2 {
public static void main(String[] args) {
//1,小转大/隐式转换 long->double
long a = 1000;
double b = a ;
//拿着右侧的小类型的a 给,左侧的大类型的b赋值--直接赋值
//2,大转小/显式转换 float->int
float m = 1.3f ;
int n = (int) m ;
//拿着右侧的大类型的m 给,左侧的小类型的n赋值--不能直接赋值,需要强转
// 小int->大double
int x = 10;
double y = x;//小转大,直接写
double c = 9.9;
int d = (int)c ;//大转小,需要强转--显式转换
System.out.println(d);//9
//由于d是整数类型,只存整数部分
}
}
五、运算规则(5条)
直接上代码,容易理解
测试 运算规则
代码如下(示例):
//测试 运算规则
public class Test3 {
public static void main(String[] args) {
//1,结果和大的类型一致
System.out.println(3/2);
//int/int->int === 1
System.out.println(3d/2);
//double/int->double ===1.5
System.out.println(3/2f);
//int/float->float ===1.5
//2,byte short char参与运算后的结果是int类型
byte a = 3 ;
byte b = 4 ;
//右侧的运算结果是int类型,给左侧的小类型byte赋值--需要强转
//byte c = a+b;//大转小--需要强转
byte c = (byte)(a+b);
//3,整数运算溢出
//光速运行一年是多少米 300000000m/s
System.out.println(300000000L*60*60*24*365);
//由于运算结果太大了,超出了int范围,所以需要把类型
//从默认的int类型 扩大成 long类型--加后缀L
//4,小数运算结果不精确
System.out.println(1-0.8);
//5,小数运算特殊值
System.out.println(3.14/0);//Infinity
System.out.println(0/0.0);//NaN
}
}
该处使用的url网络请求的数据。
六、扩展
char 型变量中能不能存储一个中文汉字,为什么?
char 类型可以存储一个中文汉字,因为 Java 中使用的编码是 Unicode(不选择任何特定的编码,直接使用字符在字符集中的编号,这是统一的唯一方法),一个 char 类型占 2 个字节(16 比特),所以放一个中文是没问题的。
总结
以上就是第二天所学的内容,前期的话一定要打好基础,需要记忆的东西会很多,加油!