java基础语法(DAY2)

1. 关键字

  1. 关键字是被java语言赋予特定含义的单词

  2. 特点:全部小写

  3. 注意事项: goto、const作为保留字,目前不适用

另附关键字表:

访问控制 private protected public
类,方法和变量修饰符 abstract class extends final implements interface native
new static strictfp synchronized transient volatile
程序控制 break continue return do while if else
for instanceof switch case default
错误处理 try catch throw throws finally
包相关 import package
基本类型 boolean byte char double float int long
short null true false
变量引用 super this void
保留字 goto const

2. 标识符

  1. 就是给类、接口、方法、变量起名时使用的字符序列

  2. 组成规则:

    1. 英文大小写字母
    2. 数字字符
    3. $ _
  3. 注意:

    1. 不能以数字开头
    2. 不能是 java 中的关键字
    3. 区分大小写

3. 命名规则(见名知意)

  1. 包:用于将相同的类名进行区分(全部小写

    1. 单级:例如:itcast
    2. 多级:用点(.)分隔。例如:cn.itcast
  2. 类或接口:

    1. 一个单词组成:单词的首字母必须大写(例如:Student)
    2. 多个单词组成:每个单词的首字母必须大写(例如:HelloWorld)
  3. 方法或变量:

    1. 一个单词:单词的首字母小写(举例:main、age)

    2. 多个单词:从第二个单词开始,每个单词的首字母大写(studentAge,showAllNames)

  4. 常量:

    1. 一个单词:全部大写(例如:PI)
    2. 多个单词:每个字母多大写,单词之间用下划线(_)隔开

4. 注释

 用于解释说明程序的文字。
  1. 单行注释: //注释文字
  2. 多行注释:/* 注释文字 */ (多行注释不能嵌套使用)
  3. 文档注释:被javadoc工具解析生成一个说明书。/** 注释文字 **/

养成良好的编程习惯,先写注释再写代码

注释:

  1. 需求
  2. 分析
  3. 实现

5. 常量

  1. 在程序执行的过程中其值不可以发生改变

  2. 常量的分类:

    1. 字面值常量

      1. 字符串常量:用双引号括起来的内容
      2. 整数常量:所有整数
      3. 小数常量:所有小数
      4. 字符常量:用单引号括起来的内容
      5. 布尔常量:只有true和false
      6. 空常量:null
    2. 自定义常量

    另:

    1byte = 8bit

    1k = 1024byte

    1m = 1024k

    1g = 1024m

    1t = 1024g

进制的表示:

  1. 二进制:以0b开头

  2. 八进制:以0开头

  3. 十进制:默认

  4. 十六进制:0X或0x

3.有符号的数据的表示法(计算机在操作的时候都是采用二进制对应的补码进行运算的)

  1. 原码:由符号位数值位组成

    1)正数的符号位是 0

    2)负数的符号位的 1

    3)其他是数值位

  2. 反码:

    1)正数的反码与其原码相同。

    2)负数的反码与原码是符号位相同,数值位取反(1变0,0变1)

  3. 补码:

    1)正数的补码与其原码相同

    2)负数的补码是在反码的基础上加1

正数的原码,反码,补码相同

6. 变量

  1. 在程序的执行中,在某个范围内其值可以发生改变的量

  2. 变量定义格式

  3. 数据类型:变量名 = 初始化值

7. 变量的数据类型

java语言是强类型语言,对于每一种数据都定义了明确的具体数据类型。

  1. 引用数据类型:

    1. 类(class)
    2. 接口(interface)
    3. 数组( [ ] )
  2. 基本数据类型

    1. 数值型:

1) 整数类型(默认为int)

关键字 占用字节数
byte 1
short 2
int 4
long 8

2) 浮点类型(默认为double)

关键字 占用字节数
float 4
double 8

3) 字符型

关键字 占用字节数
char 2

4)布尔型

关键字 占用字节数
boolean 1

注意:

  1. 长整形( long )需使用 L或l标记,建议使用L

    建议以后使用 long 类型都加 L

    即:long j = 10000000000000000L;

  2. 单精度浮点数( float )使用 F或f标记,建议使用F

    同理以后使用 float 类型都加 F

    即:float f = 12.345F;


使用变量的注意事项:

  1. 作用域:

变量定义在哪个大括号内,它就在这个大括号内有效。并且,在同一个大括号内不能同时定义同名变量

  1. 初始化:

    1. 没有初始化的变量变量直接使用
    2. 只要在使用前赋值即可,但建议定义时赋值
    3. 可以在一行定义多个变量,但不建议

8. 变量的类型转换

一般来说,我们在运算的时,要求参与运算的数据类型必须一致

  1. 默认转换:(从小到大的转换

    1. byte,short,char—int—long—float—double
    2. byte,short,char相互之间不转换,它们参与运算首先转换为int类型
  2. 强制转换

    格式:目标数据类型 变量 = (目标数据类型)(被转换的数据) ;

byte a = 3;
int b = 4;
byte c = (byte)(a + b);

不要随意使用强制类型转换,因为它隐含了精度损失问题

注意:

float f1 = (float)12.345;
float f2 = 12.345F;

f1 其实是通过一个 double 类型转换过来的

f2 本身是一个 float 类型

建议使用 f2

思考题:

byte b1 = 3, b2 = 4, b;

b = b1 + b2;
b = 3 + 4;

3出错 因为b1和b2将被默认类型转换,类型提升为int,将int类型赋给byte会损失精度

4不出错 因为常量的计算会先将其计算出来,看是否在byte的范围内,如果在就不报错

另:ASCII码

‘0’48

‘A’65

‘a’97

public class helloworld {
   public static void main(String[] args){
    System.out.println("hello"+'a'+1);	//输出helloa1
    System.out.println('a'+1+"hello");	//输出91hello
    
    System.out.println("5+5="+5+5);		//输出5+5=55
    System.out.println(5+5"=5+5");		//输出10=5+5
   }
}

注意

  1. 从左到右计算

  2. 字符串数据和其他数据做 + ,结果是字符串类型。其中 + 不是加法运算,而是字符串连接符

你可能感兴趣的:(刘意java学习笔记)