本节为 JavaSE 第一篇,适合 Java 新手观看学习。
🗺思维导图
📚目录
文章目录
🖋前言
我们之前的两篇文章已经讲解了配置 windows下 Java 环境 和 运行第一个 Java 程序 。在正式开始我们的第一课之前我们先来强调以下几个知识点。
1.编译命令
在初学 SE 语法阶段,我们会用 JDK 配合 PowerShell 来编译运行我们的 Java 程序。那就要说到编译和运行的命令:
javac
编译
java
运行
但是,我们的代码经常我们会用到注释,注释方法:
- 块注释 可以使用
/* */
- 行注释 可以使用
//
当我们在源代码中添加了注释后,我们会发现编译是无法通过的。因为 javac 默认用 GBK 进行编码 —— 我们需要用下面这个命令来改变 javac 的默认编码方式:
java -encoding utf-8
需要注意的就是空格符号一定在该打的地方打上。
2.main 函数的参数
main(String[] args)
main 后面括号中的参数是字符串数组,里面放的是命令行参数。
3.几种输出语句
System.out.println(); //输出后换行
System.out.print(); //输出不换行
System.out.printf("%d", 10); //格式化输出
4.JDK JRE JVM 的关系
5.简单理解编译运行原理
6.类与变量的命名规则
根据《阿里巴巴规约手册》
类采用“大驼峰”命名规则 —— 如:HelloWorld
变量采用“小驼峰”命名规则 —— 如:numPeople
⏯数据类型
1、int
int num = 1;//创建并声明一个整型变量
System.out.println(num);
//输出:
//1
命名规范:
-
不能以数字开头
-
根据《阿里巴巴规约手册》:虽然命名变量时可以用 下划线 与 $ 开头,但是不建议这么使用。
使用未初始化的变量
请看以下代码片段,预测程序会输出什么?
int num;//num 变量没有初始化
System.out.println(num);
答案是不能通过编译。
大小
在 Java 中, 一个 int 变量占 4 个字节. 和操作系统没有直接关系。
4 个字节表示的数据范围是 -2^31 -> 2^31-1 , 也就大概是 -21亿 到 +21亿。
用程序来查看 int 型数据的范围:
System.out.println(Integer.MAX_VALUE); // int 的大值
System.out.println(Integer.MIN_VALUE); // int 的小
输出:
2147483647
-2147483648
超过 int 类型的范围:
System.out.println(Integer.MAX_VALUE + 1);
System.out.println(Integer.MIN_VALUE - 1);
输出:
-2147483648
2147483647
如果不懂可以参考我的 C语言进阶系列,学习学习正反补码相关知识,目前更新了第一篇文章 3道C语言面试题
但是,如果你要直接将一个溢出的值直接赋值:
int a = 2147483648;// int 最大值是 2147483647
System.out.println(a);
与 C 语言不同的是,编译器将无法通过!
给变量赋值时,不能超过对应类型范围的大小
如果 一个数大到int 类型的最大值都无法存储,我们就需要另一种数据类型 long
。关注我,以后你赚的钱无法用 int 来存储!
2、long
long num = 10L; // L 表示该数是 long 类型,也可用小写 l (切勿写成数字 1)
System.out.println(num) ;
后缀 建议大写 l 容易和 1 搞混
不用后缀 直接用 10 来初始化 long 类型也是可以的。
大小
Java 中 long 类型占 8 个字节.
表示的数据范围 -2^63 -> 2^63-1
用程序来查看 int 型数据的范围:
System.out.println(Long.MAX_VALUE); // long 的大值
System.out.println(Long.MIN_VALUE); // long 的小
输出:
9223372036854775807
-9223372036854775808
3、double
double 类型也叫 双精度浮点型
程序示例:
double num = 1.0;
System.out.println(num)
大小
8 个字节
int 的除法
int a = 1;
int b = 2;
System.out.println(a / b);
输出:
0
与 C 语言相同,Java中,int 除以 int 仍然是向下(0)取整
如果想要得到 0.5:
double a = 1.0;
double b = 2.0;
System.out.println(a / b);
输出:
0.5
double 的误差:
double num = 1.1;
System.out.println(num * num)
输出:
1.2100000000000002
Java 中的 double 虽然也是 8 个字节, 但是浮点数的内存布局和整数差别很大, 不能单纯的用 2 ^ n 的形式表示数据范
围。
Java 的 double 类型的内存布局遵守 IEEE 754 标准(和C语言一样), 尝试使用有限的内存空间表示可能无限的小数, 势
必会存在一定的精度误差。
4、float
float 也叫 单精度浮点型
float num = 1.0f; // 与 double 一样,也可以写作 1.0F
System.out.println(num);
大小
float 类型在 Java 中占 4 个字节, 同样遵守 IEEE 754 标准. 由于表示的数据精度范围较小, 一般在工程上用到浮点数都
优先考虑 double, 不太推荐使用 float.
5、char
char 也叫 字符类型
char ch = 'A';
大小
2 个字节
注意:
1.Java 中使用 单引号 + 单个字母 的形式表示字符字面值.
2.计算机中的字符本质上是一个整数。 在 C 语言中使用 ASCII 表示字符, 而 Java 中使用 Unicode 表示字符。 因此一
个字符占用两个字节, 表示的字符种类更多, 包括中文。
对于 注意1 ,我们可以通过下面的程序理解:
int a = 'a';
System.out.println(a);
输出:
97
打印汉字
char ch = "赞";
System.out.println(ch);
注意我们编译时应该用 javac -encoding UTF-8
命令
6、byte
byte:字节类型
byte value = 0;
System.out.println(value);
大小
1 个字节。
范围:-128 ~ 127
**注意:**字节类型 和 字符类型互不相干。
7、short
short :短整型
short value = 100;
System.out.println(value);
大小
2 个字节
表示的范围是:-32768 ~ 32767
8、boolean
boolean: 布尔类型
boolean value = true;
System.out.println(value);
输出:
true
大小
在有些 JVM 中占 1 个字节,有些则是 1 个比特位。
注意:
- boolean 类型变量只有两种取值:
true
(表示真)和false
(表示假) - Java 的 boolean 类型和 int 不能互相转换,不存在 1 表示 true,0 表示 false 这种用法。
boolean a = 1;
System.out.println(a);
如果这样写,程序将无法通过编译(不兼容的类型)。
9、String
String: 字符串类型
String name = "Zhangsan";
System.out.println(name);
输出:
Zhangsan
注意:
- Java 使用 双引号 + 若干字符 的方式表示字符串字面值。
- 和上面的类型不同, String 不是基本类型, 而是引用类型。
- 字符串中的一些特定的不太方便直接表示的字符需要进行转义。
拼接
1.字符串与字符串
String a = "Hello ";
String b = "World";
String c = a + b;
System.out.println(c);
输出:
Hello World
2.字符串与整数
String a = "String = ";
int b = 10;
int c = 20;
String result = a + b + c;
System.out.println(result);
输出:
String = 1020
**存在 字符串 的 加法表达式 都是执行字符串拼接行为 **
int a = 10;
double b = 20.5;
String c = "a + b == ";
System.out.println(a + b);
System.out.println(c + a + b);
System.out.println(c + a * b);
输出:
30.5
a + b == 1020.5
a + b == 205.0
如果我们想输出 a + b == 30.5 应该怎么办呢?
System.out.println(c + (a + b));
只需要将要相加的数用括号括起来即可
当然你也可以使用:
System.out.printf("a + b == %d", a + b);
这样与上面没有区别,只不过这样写有点麻烦。
因此,我们在用 println 时有一种更方便的写法:
int a = 10;
int b = 20;
System.out.println("a = " + a + ",b = " + b);//注意格式
输出:
a = 10,b = 20
转义字符
试着思考如何打印出下面这句话:
Tom\Peter said: “80% girls choose to learn Java.”
System.out.println("Tom\\Peter said: \"80% girls choose to learn Java.\"");
\\
, \"
就是两个转义字符。
📦包装类
类型 | 包装类 |
---|---|
int | Integer |
byte | Byte |
short | Short |
long | Long |
float | Float |
double | Double |
char | Character |
boolean | Boolean |
码字不易,对你有帮助 点赞/关注/转发 支持一下作者!💌
更多鼓励,更多干货!
以上就是本次所有内容。有什么错误欢迎指出,谢谢!