Nibbles Blog Nibbles Blog
  • 专题汇总
    • 技术学习
    • 个人成长
    • 运营技能
    • 自媒体
    • Minecraft
  • 推荐
    • 好物推荐
    • APP推荐
  • 关于我
    • Nibbles Studio
  • 友情链接
首页 › 技术学习 › 初识 Java 及数据类型 | Java语言基础

初识 Java 及数据类型 | Java语言基础

Avatar photo
Nibbles 尼布
22 6 月, 2025

之前发过一期简单的入门《 Java 上的HelloWorld,怎么这么多细节?》 ,接下来将会是系统地学习Java之旅~

JavaSE & JavaEE

Java Standard EditionJava Enterprise Edition
开发桌面应用和简单服务器程序用于开发大型、分布式企业应用和Web应用
核心语言特性和基本API(如I/O、网络、GUI)企业级API(如Servlet、JSP),特性更广泛、复杂
适合小型和中型应用适合大型应用
可在标准JVM上运行需要特定的应用服务器

Java的发展历史

Java之父 —— 詹姆斯·高斯林(James Gosling),Sun 公司(后被Oracle收购)

1995年PC互联网时代,5月时以Java名称发布,提出“Write once, run anywhere.”口号。

能实现跨平台的主要原因就是编译后的 *.class 文件,可以跨平台运行。

JDK安装和后续文章环境说明

  • 环境:JDK安装路径不要有中文,以后装软件里面也不要有中文。如果是多个Java版本请设置PATH指定命令行中使用的开发环境版本(如果是IDE内,直接软件内切换即可)
  • 集成开发环境IDE:IDEA Community 2022.1.4(社区版)免费,软件寻找:Bing搜索idea→IntelliJ IDEA→“下载”按钮→软件图片右下角“其他版本”→看第二列Community部分的,下拉找到2022.1.4中 2022.1.4 – Windows x64 (exe)
  • 后续文章中的环境(如果没有特殊说明的话):
    Windows 11、 JDK17(17.0.9)、IDEA Community 2022.1.4
  • 如果向他人请教Java编程中的疑问,请先附上自己的环境~

PATH配置路径:(Windows 11)右键任务栏的开始选择设置→系统→下拉到最后找到设备信息→相关链接中的高级系统设置→高级选项卡中最下面的环境变量,双击其中的Path进入“编辑环境变量”窗口,新建 %JAVA_HOME%\bin; (其中博主右多个Java版本所以加了数字进行区分方便切换环境,新建的这个路径格式应该是 %变量名%\bin ,还需在“环境变量”窗口下再点击一次“新建…”从而新建名为JAVA_HOME的变量,值为JDK安装的路径)

初识 Java 及数据类型 | Java语言基础-Nibbles Blog
环境变量设置

HelloWorld I/O

更多可以联系前文:《Java上的HelloWorld,怎么这么多细节?》

流程

① 写代码 → 保存为 HelloWorld.java

public class HelloWorld{
    public static void main(String[] args) {
        System.out.println("HelloWorld");
    }
}

② cmd内编译 (javac.exe)→ 生成字节码文件 HelloWorld.class

javac HelloWorld.java

③ cmd内执行输出

java HelloWorld

运行在JVM(Java虚拟机)上,包含在JDK中。

【面试考法】JDK、JRE、JVM区别?

  • JDK:Java开发⼯具包(Java Development Kit),提供给Java程序员使⽤,包含了JRE,同时还包含了编译器javac与⾃带的调试⼯具Jconsole、jstack等。
  • JRE:Java运⾏时环境(Java Runtime Environment),包含了JVM,Java基础类库。是使⽤Java
    语⾔编写程序运⾏的所需环境。
  • JVM:Java虚拟机,运⾏Java代码
初识 Java 及数据类型 | Java语言基础-Nibbles Blog
Java IDE、JDK、JRE、JVM各层级关系

各部分概念带过

public 修饰符class 定义类的关键字Test 类名
publicstatic 声明类的静态成员void main(String[] args) 方法

命令行参数 String[] args

用一个测试案例说明可以借助该参数输入一些值:

public class HelloWorld{
    public static void main(String[] args) {
        for (int i=0;i<args.length;i++){
            System.out.println(args[i]);
        }
    }
}
java HelloWorld nibbles hello world!
// 输出:
// nibbles
// hello
// world

Java代码文件的层级

初识 Java 及数据类型 | Java语言基础-Nibbles Blog
代码层级示意图
  • class 是类,在⼀个代码⽂件中只能有⼀个public修饰的类,⽽且代码⽂件名字必须与public修饰的类名字相同。
  • 方法即为函数,main() 依然是程序的入口
  • 代码规范:注意左花括号的位置

注释

//单行注释
/*多行注释*/ 
/** ⽂档注释 */ 

/**
文档注释:
    @version v1.1.0
    @author nibbles
    HelloWorld practice
*/
//javadoc命令用于生成文档注释
javadoc -d myHello -author -version -encoding UTF-8 -charset UTF-8 HelloWorld.java

字符集不对的报错

初识 Java 及数据类型 | Java语言基础-Nibbles Blog
cmd报错截图

如果说需要在注释中或输出中包含中文,需要保持文件编码和cmd命令行编码的统一,否则会在编译时候出现如上错误。比如都设置为GBK,见下:

如何查看cmd窗口的代码页编码?

右键cmd窗口标题栏,属性→当前代码页

初识 Java 及数据类型 | Java语言基础-Nibbles Blog

不推荐更改代码页编码,其更改注册表比较繁琐。文件转编码其实更快。

如何按指定编码保存?

以VSCode编辑器为例,

初识 Java 及数据类型 | Java语言基础-Nibbles Blog

或者在写编译命令时,加上encoding参数 (表示文件是以UTF-8保存的,那么编译时候解码就如此)

javac HelloWorld.java -encoding utf-8

使用IDE就可以避免这个情况。

注释规范

  1. 内容准确:注释内容要和代码一致匹配,并在代码修改时及时更新
  2. 篇幅合理:注释既不应该太精简,也不应该扯车轱辘话长篇大论
  3. 使用中文:一般中国公司都要求使用中文写注释,外企另当别论
  4. 积极向上:注释中不要包含负能量

标识符

给类名、⽅法名或者变量所取的名字。标识符中可以包含:字⺟、数字以及 下划线和 $ 、_ 符号等(不可以加冒号)。但不能以数字开头,也不能是关键字,且严格区分⼤⼩写。

驼峰命名建议

  • 类名:每个单词的⾸字⺟⼤写(⼤驼峰) ,如 Test
  • ⽅法名/变量名:⾸字⺟⼩写,后⾯每个单词的⾸字⺟⼤写(⼩驼峰),如 studentName

未来就业时候视入职公司的发的代码规范/浏览的之前的代码而定,一学代码规范二学业务。

关键字

由Java语言提前定义好的,有特殊含义的标识符或保留字。

初识 Java 及数据类型 | Java语言基础-Nibbles Blog
各用途关键字

IDEA高效开发

快捷补全语句(输入后按tab)

  • psvm 或 main → public static void main(String[] args){}
  • sout → System.out.println()

运行 (点击框选的 ▶ 即可)

初识 Java 及数据类型 | Java语言基础-Nibbles Blog
IDEA截图

数据类型

打印语句和字面常量

public class Test {
    public static void main(String[] args) {

        // 输出123后自动换行,println或print可以接受任意类型
        System.out.println(123);

        // 去掉ln则输出末尾不换行
        System.out.print(123);

        // 类似于C语言中的printf("%d\n",123);格式化字符串的写法。【用得少】
        System.out.printf("%d",123);
    }
}

字面常量概念同其他语言,就是固定不变的量,分字符串常量(双引号””括起来的)、整型常量、浮点数常量、字符常量(单引号”括起来的)、布尔常量(true或false)、空常量(null)。

数据类型

字符串、整型、浮点型、字符型以及布尔型,在Java中都称为数据类型。

初识 Java 及数据类型 | Java语言基础-Nibbles Blog
八种数据类型的关键字、内存占用、范围

附注:

  • 内存占用的字节数不因电脑操作系统的32位还是64位的改变而改变
  • 没有像C语言一样分有符号还是无符号的概念,正负均可表示

变量

同C语言中的变量定义方法。

public class Test {
    public static void main(String[] args) {
        //<数据类型关键字> <变量名>=<值> 
        int num = 10;
        System.out.println(num);
    }
}

尤其注意要把局部变量(定义在方法内的变量叫局部变量)还要初始化,不能简单的一个 int num; ,否则会导致编译就报错

对于int类型的变量,四个字节中最高位是符号位(1bit),0为正,1为负。后面31个bit(位)才真正代表数值大小。所以如果对于1字节内7bit数值位的话,可以表示范围也就是 -2^7~(2^7-1)即-128~127。

则对于-128 转化为 二进制源码为 1 1000 0000;反码为 1 0111 1111(符号位不变);补码(=反码+1)为 1 1000 0000。

范围验证:

public class Test {
    public static void main(String[] args) {
        System.out.println(Integer.MAX_VALUE); // Integer属于包装类型,此语句可以输出int类型的最大值
        System.out.println(Integer.MIN_VALUE); // 此语句可以输出int类型的最小值
    }
}

在直接赋值常量值的情况下,如果给变量的值超出类型本身可接受的范围,也会在编译时候直接报错。

声明:本站原创文章文字版权归本站所有,转载务必注明作者和出处;本站转载文章仅仅代表原作者观点,不代表本站立场,图文版权归原作者所有。如有侵权,请联系我们删除。
Java
2
0
Avatar photo
Nibbles 尼布
向着终生成长者迈进!
赞赏

评论 (0)

取消
    发表评论

猜你喜欢

  • 运算符 | Java语言基础
  • 变量详解 | Java语言基础
  • 从本质理解指针的那些知识 | C语言基础

公众号同步更新

🔍微信搜一搜“尼布技术志”

文章目录

  • SiteMap
  • Umami
  • CSDN
  • xLog「待开放」
  • Substack「待开放」
Copyright © 2022-2025 Nibbles Blog. Designed by nicetheme. 浙公网安备33038102332481号 浙ICP备2024120131号
旗下产品: 匿补阁 个人工作室主页 Nibbles AI 匿补阁小商城 匿补阁CardShop NavP
  • C语言4
  • Java4
  • python2
  • AI2
  • 公众号2
  • 专题汇总
    • 技术学习
    • 个人成长
    • 运营技能
    • 自媒体
    • Minecraft
  • 推荐
    • 好物推荐
    • APP推荐
  • 关于我
    • Nibbles Studio
  • 友情链接