【JavaSE】(1) Java 的初识

目录

一、一个简单的 java 程序

1. 示例代码及简单说明

2. 类的编写规范

3. 编译生成的字节码文件

4. 在 CMD 中打印乱码的问题

二、注释

三、下载IDEA并创建一个Java项目

1. 什么是IDEA

2. 创建一个 Java 项目

四、标识符

五、数据类型

1. 总览

2. 强制类型转换

3. 类型提升

4. 字符串类型 String

七、运算符

1. 算术运算符

2. 关系运算符

3. 逻辑运算符

4. 位运算符

5. 移位运算符

6. 条件运算符

7. 赋值运算符

八、逻辑控制语句

1. 分支结构

九、输入输出

1. 三种标准输出

2. 占位符

3. 标准输入

4. 随机数

十、调试


 

一、一个简单的 java 程序

1. 示例代码及简单说明

        *.java是一个 java 源文件。源文件包含类,类包含方法,方法包含语句。

        其中 args 存放命令行的参数:

2. 类的编写规范

  •  在一个源文件里,public 修饰的类只能有一个。(相当于C语言中,只能有一个main函数入口。)

  • public 修饰的类的类名,必须与源文件名一致。

  • 同一个包里不能有类名相同的类。

  • 类名一般采用大驼峰,即每个单词的首字母大写。如,HelloWorld;方法名、参数名、成员变量、局部变量统一使用小驼峰,即首单词首字母小写,其它单词首字母大写。如,mainFunction。

3. 编译生成的字节码文件

        一个类对应生成一个字节码文件。

4. 在 CMD 中打印乱码的问题

        打印中文存在乱码的原因是,记事本采用的是 UTF-8 编码格式(可变长,1~4字节,几乎全球所有字符),而 CMD 采用的是 GBK 编码格式(2字节,中文、日韩字符),这两种编码格式的字符集不相同。

        我们只需要在编译命令中指定 UTF-8 编码格式即可:

二、注释

        种类:注释有三种,单行(经常用)、多行(不推荐用)、文档(用在类、方法之前,描述它们的作用等)。

        不参与编译、运行:编译器会过滤掉注释。

        规范:注释要精简、正能量。

        示例:

        JavaDoc 工具:从文档注释中抽取类、方法、成员等注释,自动生成一个API帮助文档(详细描述了如何使用特定服务的接口的技术文档)。

        javadoc 命令的参数:

-d filename    --生成一个文件夹,存放帮助文档
-author        --显示作者
-version       --显示版本号
-encoding xxx  --指定编码格式,要与源文件的编码格式相匹配
-private 或 -package  --生成默认、私有级别的类文档(javadoc默认只生成public、protected级别的)

        示例:

命令:
javadoc -d HelloWorld -author -version -encoding UTF-8 -private HelloWorld2.java

        结果:

 

        JavaSE API 帮助文档:

        在线版:Java SE 文档 — API 和文档 | Oracle 中国

        离线版:百度网盘 请输入提取码  提取码:3bws

        快捷键:ctl+/(单行);crl+shift+/(多行)。

三、下载IDEA并创建一个Java项目

1. 什么是IDEA

        IDEA跟VS一样,是一款集成开发环境,编辑、编译、运行、调式等啥都齐全。

2. 创建一个 Java 项目

        下载:Download IntelliJ IDEA – The Leading Java and Kotlin IDE 

        傻瓜式安装即可。建议不要安装中文插件,出什么问题网上的教程都是英文的,反而不方便。

        创建一个项目:

        编辑: 快捷键:main方法,main/psvm;打印内容.sout,打印到控制窗口。

        运行:

        Java 技术书籍:Java编程思想、Java核心技术、阿里巴巴《Java开发手册-嵩山版》,当工具书用。

四、标识符

        什么是标识符:程序员给类、方法、变量命的名字。

        命名规则(硬性):可包含字母、数字、下划线、$;不能以数字开头;不能是关键字(Java命的名字)。

        命名规则(建议):不以下划线、$ 开头或结尾。

        关键字:

五、数据类型

1. 总览

 

八种基本数据类型
关键字字节长度可存放数值范围包装类
byte1-128~127Byte
short2-32768~32767Short
int4-~Integer
long8-~Long
float4不关注Float
double8不关注Double
char20~65535Character
booleanJava规范无明确规定true 和 falseBoolean

        要点:

  • 不同于C语言,某些类型在不同平台存储数据的内存单元长度不同(如:long、指针类型),Java 可移植性很高,基本数据类型可存储的字节长度是固定的
  • 不谈 boolean,只有 char 是无符号的(字符的编码不需要符号)。
  • 浮点数的计算或判断(比较大小)可能存在误差:Java 中的浮点数也遵循 IEEE 754 标准,用有限的浮点数存储空间,存放无限的小数二进制表示,存不完,就会溢出,产生误差。
  • 不同于C采用 ASCII 字符集,Java 中采用的是 Unicode 字符集(可以涵盖很多字符,包括中文),因此 char 类型也更大,2个字节(char 类型可存放中文,如:char = '中')。
  • 字符串型 + 其它数据类型,会把其它数据类型直接转为字符串。

  • 不同于C语言中可以用 0 表示逻辑假,非 0 表示逻辑真。Java的真、假只能用 bloolean 类型的 true、false 表示(逻辑值,不是数值)
// 错误写法1
boolean b = 0;

// 错误写法2
if( 1 + 2){
    ......
}

// 正确写法1
boolean b = false;

// 正确写法2
if( 1 + 2 == 3){
    ......
}
  • 关于 boolean 的字节长度:在《Java虚拟机规范》中说到,Java 虚拟机中没有 boolean 专用的字节码指令,编译器会把单个的 boolean 编译为 int 类型,把 boolean 数组编译为 byte 数组。(Java无 boolean 规范,但Java虚拟机有 boolean 规范)
  • Java 非常严格,定义的局部变量不能没有赋值,否则会报错。建议在定义局部变量时,就初始化为0

  • Java 中整数字面常量默认为 int 类型,浮点数字面常量默认为 double 类型。
  • 一个小于 int 范围的整数字面量,系统会将其当成 byte 或 short 类型来处理。
  • 一个超过 int 范围的整数字面量,必须在其后加 l 或 L(建议用 L,l 很像 1),否则会报错;在浮点数字面常量后加 f 或 F,表示 float 类型(直接赋值一个浮点数给 float 变量,系统会认为把 double 给了 float,报错)。

  • 赋值的数值不能超过变量的范围,会溢出,报错。

2. 强制类型转换

        大范围转小范围,强制类型转换(前提得相干,比如都是数值),会损失精度。

3. 类型提升

  • 表达式运算,范围小的会自动提升为范围大的(自动转换,隐式)。
  • 整型提升(同 byte、short 类型运算):byte 或 short 小于 int,会先提升为 int 再运算(为了方便硬件设计,一般都是4个字节地读取)。不同与C语言的整型提升,Java 整型提升后并不会截断 int 转回原类型,而是保持 int。

4. 字符串类型 String

        整数字符串转整型:

        数值转字符串:

七、运算符

1. 算术运算符

        不同于C语言,Java的取余 % 的操作数可以是小数,但是没意义。

2. 关系运算符

        禁止连用:先判断1 < i 得到 true,再判断 true < 20,但两边类型不同,不可比较。

3. 逻辑运算符

  •  && 和 || 遵循短路求值:&& 左边为假,直接假;|| 左边为真,直接真。
  • & 和 | 的操作数表达式结果为逻辑值,也为逻辑运算符,但不支持短路

4. 位运算符

        按位异或 ^ :相同为0,相异为1。

5. 移位运算符

        左移 << :右边添0。(×2)

        右移 >> :左边添符号位的值。(÷2)

        无符号右移 >>> :左边添0。

        能移动过大或者负数,但是没意义。

6. 条件运算符

        又叫三目运算符,表达式1 ? 表达式2 : 表达式3 。

        不能单独一句,必须被使用。

7. 赋值运算符

        复合的赋值运算符,会帮助强制转换。

八、逻辑控制语句

1. 分支结构

        switch(x),x只能是 char、byte、short、int;String、枚举

九、输入输出

1. 三种标准输出

2. 占位符

        %b:布尔值。

        %h:散列码(Hash Code)。

3. 标准输入

next:遇到空格、回车、制表符停止。并且回车会留在缓冲区

nextLine:遇到回车停止。并且会吃掉回车。

循环输入:

4. 随机数

十、调试

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值