【Java SE】初遇Java,数据类型,运算符

🔥 博客主页🔥 :【 坊钰_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 ,用记事本打开,敲出下列代码。

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 类型也可以用来表示 汉字

java 复制代码
public class HelloWorld {
    public static void main(String[] args) {
        char ch = '好';
        System.out.println(ch);
    }
}

这样写是没有问题的

4.4 布尔类型

在Java 中,表示真与假,用 true 或 false 它们为 布尔类型,例:

java 复制代码
public class HelloWorld {
    public static void main(String[] args) {
        System.out.println(6>10);
    }
}

结果:

5. 类型转换

Java 的特点 ---> 安全性,在这里体现的非常完美,看下面代码

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 强制转换

如果非要上面那样写,那么就要用到强制类型转换,例:

java 复制代码
public class HelloWorld {
    public static void main(String[] args) {
    byte a = (byte)1000;
    int b = (int)20L;
    float f = (float)12.5;
    }
}

当然,有时侯,强制的未必是好的,有时会出现错误,例:

java 复制代码
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 短路问题

java 复制代码
4>2 || 5/0

对于 || 来说,从左向右运算,当第一个表达式(4>2)为 真(true)时,整体为真,表达式2(5/0)直接不用计算了,所以编译器不会报错。

java 复制代码
4<2 && 5/0

对于 && 来说,从左向右运算,当第一个表达式(4<2)为 假(false)时,整体为假,表达式2(5/0)直接不用计算了,所以编译器不会报错。

6.2 位运算符

6.2.1 左移 <<

java 复制代码
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 右移 >>

java 复制代码
public class HelloWorld {
    public static void main(String[] args) {
    int b = 10;
    b = b>>1;
    System.out.println(b);
    }
}

结果为 5,右移 1 位 相当于 除以2

7. 总结

以上就是对Java初步的了解,具体还需宝子们去实践,如果觉得该博客对你有用的话,希望一键三连,点个关注不迷路,谢谢支持!

相关推荐
VaporGas2 分钟前
Spring-bean实例化的方式
java·数据库·spring
JAMJAM_NoName5 分钟前
【前端学习】前端存储--Cookie、localStorage和sessionStorage
前端·学习
R_187819115346 分钟前
电商系统之链动2+1模式开发
java·大数据·intellij-idea
秋雨凉人心13 分钟前
Webpack和GuIp打包原理以及不同
开发语言·前端·javascript·webpack·gulp
john_hjy13 分钟前
4. 数据结构: 对象和数组
java·开发语言·前端
一颗去去15 分钟前
【JavaScript】数组函数汇总
开发语言·javascript
代码吐槽菌18 分钟前
基于SSM的校园自助洗衣系统【附源码】
java·数据库·毕业设计·ssm·计算机专业
问道飞鱼18 分钟前
每日学习一个数据结构-堆
数据结构·学习·算法
我不爱机器学习19 分钟前
python环境配置问题(个人经验)
开发语言·python
一尘之中20 分钟前
Windows开发工具使用技巧
人工智能·windows·学习