Java 入门 (二)

注释

在程序中,用于对代码进行 解释说明

特点

  1. 不参与代码的编译
  2. 注释的内容在结果不会出现

分类

  1. 单行注释 // 单行注释内容 能嵌套,不可以换行
  2. 多行注释 /* 多行注释内容 */ 不能嵌套,可以换行
  3. 文档注释 /** */

作用

  • 在代码中协商注释,用于测试代码正确与否
  • 一般要求在程序中,注释要占到代码的 1/3
  • 注释可以帮助我们理清程序的逻辑

关键字

在Java中,具有特殊含义并且由特殊含义的英文单词

public static void class package import if else for while do break switch case return continue byte short int long float double char boolean true false  default

注意事项

  1. Java中的关键字都是小写的英文单词
  2. 命名变量的时候,不要和关键字重复
  3. 关键字中由两个保留字goto、const,这两个保留字目前不能使用,但是不保证以后用不用

标识符

用来给类、接口、方法、变量、枚举、常量、包等起名字的字符序列

组成规则

  1. 数字0-9
  2. 英文字母 a-zA-Z
  3. 特殊符号 _$
  4. 其它大部分国家的字符

注意事项

  1. 数字不能开头

常见的命名规范

这些都是约定俗称的,建议大家遵守

  • 包
  • 一个单词 全部小写 com
  • 多个单词 全部小写,中间用英文的点.分割,例如top.zunmx
  • 类、接口
  • 一个单词 首字母大写 Hello
  • 多个单词 首字母分别大写 HelloWorld
  • 方法、变量
  • 一个单词 全部小写 sum/main/test
  • 多个单词 除了此一个单词外,其余单词首字母都大写 getMax
  • 常量、枚举
  • 一个单词 全部大写 PI、E
  • 多个单词 全部大写,中间用下划线_分割 MAX_NUMBER

常量

其值在程序运行过程中不会发生改变的量: public static final int PI = 3.14;

分类

  • 字面值常量:写一个常量,就能直接看到结果。如:3.14159
  • 符号常量:定义常量的时候,会给常量起一个名字,看到这个名字知道它代表的是什么,但是不知道具体的值。如:PI 、 E
  • 按照数据类型分类
  • 基本数据类型:一些简单的数据
    • 整数常量 2333
    • 小数常量 3.14
    • 字符常量 'a'
    • 布尔常量 true
  • 引用数据类型:有这些简单的数据组成的较为复杂的数据
    • 字符串常量 "Matrix"
    • 空常量 null
  • 空常量和空字符串区别:
    • 空常量null:在内存中没有位置
    • 空字符串“”:内存中存在空间
  • 注意:
    • 所有的常量都可以通过输出语句进行打印,除了空常量

变量

格式

  • 定义且赋值 数据类型 变量名 = 数据;
  • 赋值 变量 = 数据;

内存分布

局部变量是声明在栈上的。变量在内存中占用了一定容量的空间,变量名指向了这个空间,也就可以通过变量名获取这个空间中的数据。如果通过变量名对空间中的数据做出修改了。那么后续再通过变量名访问这个空间中内容的时候也就是更换之后的数据。

数据类型

Java是一门强类型的语言。数据在声明的时候就必须要确定好类型。(好处就是为了保证充分利用内存的空间)

分类

  • 基本数据类型:一些简单的数据,是由Java官方定义好的,不能再改变的类型。
  • 引用数据类型:是由基本的数据类型以及其它引用数据类型组成的一种类型,是较为复杂的类型

基本数据类型(4类8种)

  • 整数类型
  • byte 1个字节 -128~127
  • short 2个字节 -2^15^ ~2^15^-1
  • int 4个字节 -2^31^~2^31^-1
  • long 8个字节 -2^63^~2^63^-1
  • 小数类型
  • float 4个字节
  • double 8个字节
  • 字符类型
  • char 2个字节
  • 布尔类型
  • boolean true / false

注意:float的4个字节比long的8个字节都大

从小到大排序:byte<short=char<int<long<float<double

引用数据类型

  • 类
  • 字符串类型String
  • 接口
  • 数组

整数类型和小数类型的默认数据类型

  • 整数类型的默认数据类型:int
  • 如果要声明long类型,则需要再数据后面加上L,建议大写的
  • 小数类型的默认数据类型:double
  • 如果要声明float类型,则需要再数据后面加上F,建议大写的

默认数据类型转换

  • 在int类型范围之下的(包括int),进行运算的时候都会先提升为int类型,然后结果也为int类型。
  • 在int类型范围之上的,进行运算的时候会提升为较大的类型,然后结果也为较大的类型。

强制转换

  • 从较大的数据类型转为较小的数据类型
  • 如果要是直接能转换的话,很厚可能发生数据丢失,所以不能默认转化,而应该通过强制性手段。
  • 格式: 较小的数据类型 变量名 = (较小的数据类型)较大的数据类型

字符类型

用关键字char声明,存放在但应好中的单个内容

字符串类型

用类String进行声明,存放在双引号中的一串内容。

注意事项:任何数据与字符串相加都会变成字符串


编码和解码

  • 编码:把能看得懂的变成看不懂的
  • 解码:把看不懂的变成看的懂的
字符 十进制
0 48
a 97
A 65
  • GBK: 一个英文占一个字节,一个中文字符占两个字节
  • UTF-8: 一个英文占一个字节,一个中文字符占三个字节

手持两把锟斤拷,口中疾呼烫烫烫。脚踏千朵屯屯屯,笑看万物锘锘锘。

运算符

算术运算符

  • 相加运算

  • 正数

  • 字符串拼接
  • /

  • 除法

  • int/int = int
  • 如何取到小数

    • 任何一个数字乘以1.0
    • 对任意一个数强制转换
    • %
  • 取余数

自增自减运算符

  • ++ 和 --
  • 参与运算时候

  • 在前

    • 先自增1或自减1,再参与运算
    • 在后

    • 先参与运算,再自增1或自减1

    • java int a= 3; System.out.println(a++); System.out.println(++a);
    • 如果不参与运算,无论在前在后,都是自增1或者自减1
    • 扩展的 += -= *= /=

注意!

扩展的赋值运算符带有着强制的数据类型转换

扩展运算符就是(+= -= ...)

赋值运算符(=)

a += b 并非等价于 a = a + b

byte a = 3;
byte b = 5;
a += b;
a = a + b;  //在这里存在着类型的转换

比较运算符

  • == >= <= > < !=
  • == 可以比较基本数据类型,也可以比较引用数据类型,比较基本数据类型的时候,比较多是值是否相同;比较引用数据类型的时候,比较的是地址值是否相同

逻辑运算符

普通的

  • & | !
  • & 如果两边都为true则为true,如果两边有一个flase,则为false
  • | 如果两边有一个true则为true,全为false则为false
  • ! 如果是false则为true,如果是true则为false

短路的

  • && ||
  • && 如果左边是false的话,那么右边就不会执行,而直接给结果false。如果左边是true的话,那么右边会执行。(右边是true就是true,是false就是false)
  • || 如果左边是ture的话,那么右边就不会执行,而直接给结果true。如果左边是false的话,那么右边会执行。(右边是true就是true,是false就是false)

位运算符

<<  每左移一位 乘以2
>>      每右移一位 除以2
>>>    每右移一位,都会乘以2,只能作用于正数

三元运算符

元:就是一个数据,三元就是三个数据

格式:条件表达式 ? 值1 : 值2

注意:

  1. 三元运算符中的值可以是表达式,但是 这两个值的类型要保持一致
  2. 条件表达式的结果必须为Boolean类型,要么是true,要么就是false

如果是ture那么就执行值1,如果是false那么就执行值2

评论 0

还没有评论,来说点什么吧。

提交后需要审核才会公开。