🔥博客主页🔥:【 坊钰_CSDN博客 】
欢迎各位点赞👍评论✍收藏⭐
1. Java 概述
1.1 Java 是什么
Java 是一种高级计算机语言,是一种可以编写跨平台应用软件,完全面向对象的程序设计语言。Java 语言简单易学,安全可靠,在计算机领域中,Java 可以说是无处不在。
1.2 Java 的特点
在介绍概念时就说Java 安全,简单等特点,那么与它本身必然密不可分,Java 有哪些特点呢?
- 简单:Java 语言简单易学,没有复杂的运算符重载,指针等
- 面向对象:它具备封装,继承,多态等特性
- 安全:安全可靠,Java 储存的分配模式可抵御恶意代码
- 跨平台:Java 程序只要编写一次,就可以到处运行
- 多线程:多个任务可并发执行,很大程度提高代码执行效率
- 分布性:支持各种层次的网络连接
2. JDK 说明和使用
Sun 公司提供了一套 Java开发环境,简称 JDK(Java Development Kit),除了提供JDK 外,还提供了 JRE(Java Runtime Environment),JRE中又包括JVM(Java virtual Machine),为了方便用户的使用,在JDK中封装了JRE,这样一来用户只需要安装JDK就行了,下面用一张图来解释他们的关系。
3. 第一个Java 程序
''Hello World'' 作为程序员的第一个程序,当然Java 也不例外。
在JDK和环境变量配置好了之后,在相应目录下,新建文本文档,命名为 HelloWorld.java ,用记事本打开,敲出下列代码。
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello World");
}
}
- 第一行中的 class 是一个类,Java中,所有代码都要写在类中。
- 第一行中类名 HelloWorld 必须与文件名一样否则会报错。
- 第二行是主函数 main() 方法,是程序的入口。
- 第三行为打印一段文本信息并输出到控制台。
3.1 HelloWorld.class文件
首先,我们要知道Java 程序运行的机制。
Java 运行分为两个步骤
- 一:用 Javac HelloWorld.java 命令开启编译器,编译 HelloWorld.java 文件,编译结束后会在生成一个 HelloWorld.class 字节码文件(二进制文件)。
- 二:使用 Java HelloWorld 命令启动JVM(Java 虚拟机) 运行程序。
- 拓展:Java 的跨平台性就是因为有 Java 虚拟机,在不同的操作系统下,下载不同版本的 Java 虚拟机,就可以运行相应的程序。
3.1.1 图解
3.1.2 实际操作
先创好文件,在写好代码
打开命令窗口,输入 javac HelloWorld.java
神奇的事情发生了
在看文件,果然多了一个 HelloWorld.class 文件,在使用 Java HelloWorld 运行程序
可以看到,正确输出相应的文档。
4. 数据类型
Java 中有8种基本数据类型
4.1 分类
基本数据类型
- 整型 int 4字节
- 长整型 long 8字节
- 短整型 short 2字节
- 字节型 byte 1字节
- 字符型 char 2字节
- 单精度 float 4字节
- 双精度 double 8字节
- 布尔型 boolean 未知 / 不确定
4.2 取值范围
4.3 字符型
在Java 中,用的是 Unicode 编码表,所以char 类型也可以用来表示 汉字
public class HelloWorld {
public static void main(String[] args) {
char ch = '好';
System.out.println(ch);
}
}
这样写是没有问题的
4.4 布尔类型
在Java 中,表示真与假,用 true 或 false 它们为 布尔类型,例:
public class HelloWorld {
public static void main(String[] args) {
System.out.println(6>10);
}
}
结果:
5. 类型转换
Java 的特点 ---> 安全性,在这里体现的非常完美,看下面代码
public class HelloWorld {
public static void main(String[] args) {
byte a = 1000;
int b = 20L;
float f = 12.5;
}
}
然而在编译器中是这样的:
可以看到,三个都报错。
解析:
- byte 大小1字节,取值范围 -128 ~ 127 ,超出范围,一定报错
- 20L L-->指的是 long 类型,long 转为 int 会有数据的损失
- 12.5 编译器默认为 double 类型,如果转为 float 有精度的损失
5.1 强制转换
如果非要上面那样写,那么就要用到强制类型转换,例:
public class HelloWorld {
public static void main(String[] args) {
byte a = (byte)1000;
int b = (int)20L;
float f = (float)12.5;
}
}
当然,有时侯,强制的未必是好的,有时会出现错误,例:
public class HelloWorld {
public static void main(String[] args) {
int a = 300;
byte b = (byte)a;
System.out.println(b);
}
}
猜猜输出什么,答案是 44,为什么?
注意:强制固然好用,但是还是有风险的 ,且用且珍惜。
5.2 自动转换
- int 和 long 类型之间,自动转换为 long 类型
- float 和 double 类型之间,自动转为 double 类型
- byte ,char ,short ,这几个小于 4 字节的类型,运算时会自动转为 int 类型进行计算
6. 运算符
6.1 逻辑运算符
6.1.2 短路问题
4>2 || 5/0
对于 || 来说,从左向右运算,当第一个表达式(4>2)为 真(true)时,整体为真,表达式2(5/0)直接不用计算了,所以编译器不会报错。
4<2 && 5/0
对于 && 来说,从左向右运算,当第一个表达式(4<2)为 假(false)时,整体为假,表达式2(5/0)直接不用计算了,所以编译器不会报错。
6.2 位运算符
6.2.1 左移 <<
public class HelloWorld {
public static void main(String[] args) {
int b = 5;
b = b<<1;
System.out.println(b);
}
}
结果为 10 ,左移 1 位 相当于 乘以2
6.2.2 右移 >>
public class HelloWorld {
public static void main(String[] args) {
int b = 10;
b = b>>1;
System.out.println(b);
}
}
结果为 5,右移 1 位 相当于 除以2
7. 总结
以上就是对Java初步的了解,具体还需宝子们去实践,如果觉得该博客对你有用的话,希望一键三连,点个关注不迷路,谢谢支持!