Java中的名称命名规范

包名:多单词组成时所有字母都小写:xxxyyyzzz

类名、接口名:多单词组成时,所有单词的首字母大写:XxxYyyZzz

变量名、方法名:多单词组成时,第一个单词首字母小写,第二个单词开始每个单词首字母大写:xxxYyyZzz

常量名:所有字母都大写。多单词时每个单词用下划线连接:XXX_YYY_ZZZ

Java的数据类型

  1. 变量按照数据类型来分:
    基本数据类型:
    整形:byte(1字节=8 bit) \ short(2字节) \ int(4字节) \ long(8字节)
    byte范围:- 128 ~ 127
    声明long型变量,必须以 “ 1 ” 或 " L " 结尾
    通常定义整形变量时,使用int型
    浮点型:float(4个字节) \ double(8个字节)
    浮点型表示带小数点的数值
    float表示数值的范围比long还大
    定义float类型变量时,变量要以 “ f " 或 ” F “ 结尾
    通常定义浮点型变量时,使用double型
    字符型:char(1字符 = 2字节)
    定义char型变量,通常使用一对 ‘ ’ ,内部只能写一个字符
    表示方式:1.声明一个字符 2.转义字符 3. 直接使用Unicode值来表示字符型常量
    布尔型:boolean
    只能取两个值之一:true,false
    常常在条件判断、循环结构中使用
    引用数据类型:
    类(class)
    接口(interface)
    数组(array)
  2. 变量在类中声明的位置
    成员变量 vs 局部变量

基本数据之间的运算规则

前提:这里讨论的只是7种基本数据类型变量间的运算,不包含boolean类型的

  1. 自动类型提升:
    结论:当容量小的数据类型的变量与容量大的数据类型的变量做运算时,结果自动提醒为容量大的数据类型

(此时说的容量大小指的是,表示数的范围的大和小。比如:float容量要大于long的容量)

byte、char、short--->int--->long--->float--->double

特别的:当byte、char、short三种类型的变量做运算时,结果为int型

  1. 强制类型转换:自动类型提升的逆运算
    需要使用强转符()
    注意点:强制类型转换可能导致精度损失
练习:判断能否通过编译
(1)short s = 5;
	s = s - 2;//否
(2)byte b = 3;
	b = b + 4;//否
    b = (byte)(b + 4);//是
(3)char c = 'a';
	int i = 5;
	float d = .314F;
	double result = c + i + d;//是
(4)byte b = 5;
	short s = 3;
	short t = s + b;//否

String 类型变量的使用

  1. String属于引用数据类型,翻译为字符串
  2. 声明String类型变量时,使用一对""
  3. String可以和8种基本数据类型变量做运算,且运算只能是连接运算:+
  4. 运算的结果任然是String类型
练习1:
    char c = 'a';//97  A:65
	int num = 10;
	String str = "hello";
	String.out.printlin(c + num + str);//107hello
	String.out.println(c + str + num);//ahello10
	String.out.println(c + (num + str));//a10hello
	String.out.println((c + num) + str);//107hello
	String.out.println(str + num + c);//hello10a
练习2:输出* *
    System.out.println("* *");//* *
    System.out.println('*' + '\t' + '*');//93
	System.out.println('*' + "\t" + '*');//* *
	Syetem.out.println('*' + '\t' + "*");//51*
	System.out.println('*' + ('\t' + "*"));//* *
练习3:
    String str1 = 4;//错
	String str2 = 3.5f + "";//对,输出"3.5"

计算机中不同进制的使用说明

  • 二进制(binary):0,1,满2进1,以0b或0B开头
  • 十进制(decimal):0-9,满10进1
  • 八进制(octal):0-7,满8进1,以数字0开头表示
  • 十六进制(hex):0-9及A-F,满16进1,以0x或0X开头表示,此处A-F不区分大小写,如:0x21AF + 1 = 0X21B0

二进制的原码、反码、补码:

正数:三码相同

14的原码、反码、补码: 0 0 0 0 1 1 1 0

负数:

负数的原码是绝对值的符号位变1

-14的源码: 1 0 0 0 1 1 1 0

负数的反码是除符号位外,其余各位取反

-14的反码: 1 1 1 1 0 0 0 1

负数的补码是其反码+1

-14的补码: 1 1 1 1 0 0 1 0

计算机底层都以补码的方式来存储数据!

每日一题

  1. 标识符的命名规则有哪些?
  2. 标识符的命名规范有哪些?
    类名、接口名:XxxYyyZzz
    变量名、方法名:xxxYyyZzz
    常量名:XXX_YYY_ZZZ
  3. Java变量按照数据类型怎么划分?并指出Java的基本数据类型有哪8种,并指出各自占用的内存空间大小
    基本数据类型和引用数据类型
    基本数据类型:
    整形:byte(1字节=8 bit) \ short(2字节) \ int(4字节) \ long(8字节)
    浮点型:float(4个字节) \ double(8个字节)
    字符型:char(1字符 = 2字节)
    布尔型:boolean
    引用数据类型:类,接口,数组
  4. 说明基本数据类型变量之间自动类型提升的运算规则
    byte、char、short--->int--->long--->float--->double
  5. 说明基本数据类型变量之间强制类型转换的使用规则和强转可能出现的问题
    容量大--》容量小,使用( )
    可能出现精度损失