小白学习java第二天

1. eclipse配置编译环境

  • eclipse的jdk插件
    小白学习java第二天_第1张图片
    小白学习java第二天_第2张图片

  • 项目配置Java编译环境

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Y02FeB0G-1593609648402)(G:_千锋\JAVAEE\笔记\截图\编译环境的配置.png)]

2. eclipse快捷键

  • 快速删除:ctrl+d
  • 快速移动代码:alt+方向键
  • 代码提示:alt+/
  • 快速复制:ctrl+alt+方向键
  • 查看类结构:ctrl+o
  • 单行注释:ctrl+/
  • 多行注释:ctrl+shift+/
  • 文档注释:/**+enter
  • 代码缩进 ctrl+shift+f

3. 标识符(identifier)规则

  • 概述
    • 用来给类,方法,接口,变量命名的字符序列
  • 组成规则
    • 数字
    • 大小写字母
    • _和$
    • 不能以数字开头
    • 不能是关键字
  • 总结
    • 一定要遵守,否则编译报错,无法运行

4. 标识符的书写规范

  • 为什么要规范

    • 专业性
    • 职业素养
  • 前提

    • 见名知意
  • 规范

      • 域名倒写,全部小写字母

        com.qfedu
        
    • 类、接口

      • 单个单词:首字母大写
    • 多个单词:每个单词的首字母大写

        Demo
        DemoKey
      
  • 方法、变量

    • 单个单词:首字母小写

    • 多个单词:从第二个单词起,首字母大写

      run
      runQuick
      
    • 常量

      • 全部大写

      • 多个单词之间用_连接

        HOME
        HOME_NAME
        

5. java常量

  • 概述
    • java中不能改变的量
  • 分类
    • 字面常量
    • 自定义常量
  • 字面常量
    • 字符串常量
    • 整数常量
    • 小数常量
    • 字符常量
    • 布尔常量
    • null
/**
 * 常量
 * @author MACHENIKE
 *
 */
public class Demo02 {
	public static void main(String[] args) {
		//字符串常量
		System.out.println("hi");
		//整数常量
		System.out.println(123);
		//小数常量
		System.out.println(12.3);
		//布尔常量
		System.out.println(true);
		//字符常量
		System.out.println('A');
		//null
		System.out.println(null+"");
	}
}

6. 数据类型的概述和分类

  • 概述
    • java是一个强类型语言,每一个数据都有一个明确的数据类型
  • 分类
    • 基本数据类型
    • 引用数据类型
  • 基本数据类型
    • 整形
      • byte 1字节
      • short 2字节
      • int 4字节
      • long 8字节
    • 浮点型
      • float 4字节
      • double 8字节
    • 布尔型
      • boolean
    • 字符型
      • char 2字节

7. java变量

  • 概述

    • 在代码运行过程中,能够发生改变的量
  • 语法

    • 数据类型 变量名 = 值;
  • 分类

    • 局部变量
      • 定义在方法中,又叫方法变量
    • 全局变量
      • 定义在方法外,又叫对象变量
    • 静态变量
      • 定义在方法外,有static修饰,又叫类变量
  • 代码实现

    • 局部变量

      public class Demo05_Variable {
      	public static void main(String[] args) {
      		// 数据类型 变量名 = 值;
      		byte num1 = 127;
      		System.out.println(num1);
      		short num2 = 600;
      		System.out.println(num2);
      		int num3 = 100000;
      		System.out.println(num3);
      		long num4 = 1000000000;
      		System.out.println(num4);
      		float num5 = 1.3f;
      		System.out.println(num5);
      		double num6 = 5.6;
      		System.out.println(num6);
      		boolean flag = true;
      		System.out.println(flag);
      		char chr = 'A';
      		System.out.println(chr);
      		String str = "abcd";
      		System.out.println(str);
      	}
      }
      
    • 全局变量,静态变量

      public class Demo05_Variable02 {
      	static byte num1 = 127;
      	static short num2 = 600;
      	static int num3 = 100000;
      	static long num4 = 1000000000;
      	static float num5 = 1.3f;
      	static double num6 = 5.6;
      	static boolean flag = true;
      	static char chr = 'A';
      	static String str = "abcd";
      	public static void main(String[] args) {
      		
      		System.out.println(num1);
      		
      		System.out.println(num2);
      		
      		System.out.println(num3);
      		
      		System.out.println(num4);
      		
      		System.out.println(num5);
      		
      		System.out.println(num6);
      		
      		System.out.println(flag);
      		
      		System.out.println(chr);
      	
      		System.out.println(str);
      	}
      }
      

8. java变量使用的注意事项

  • 作用域

    • 同一作用域类不能同时声明一个相同的变量
  • 变量的初始化问题

    • 成员变量在声明的没有赋值,则系统会自动赋值
      • byte short int long 初值为0
      • float double 初值为0.0
      • boolean 初值为false
      • char 初值为‘’
    • 局部变量在声明时没有赋值,系统不会自动赋值
  • 一条代码定义多个变量

    int n = 1, m = 2, g = 3;
    

9. 数据类型转换之隐式类型转换

  • 概述

    • byte short int char 参与运算会转换成int类型
    • 大精度和小精度参与运算会升成大精度
    • 小类型和大类型参与运算会升成大类型
    public class Demo11_TypeTransfer {
    	public static void main(String[] args) {
    		byte num1 = 1;
    		byte num2 = 2;
    		int numl = num1 + num2;
    		
    		short num3 = 2;
    		short num4 = 5;
    		int numk = num3 + num4;
    		
    		int num5 = 5;
    		int num6 = 7;
    		int numj = num5 + num6;
    		
    		char chr1 = 1;
    		char chr2 = 2;
    		int chr = chr1 + chr2;
    		
    		double num7 = 5.5;
    		float num8 = 3;
    		double numh = num7 + num8;
    		
    		int num9 = 5;
    		long num10 = 6;
    		long numg = num9 + num10;
    	}
    }
    

10. 数据类型转换之强制类型转换

  • 概述

    • 大精度–>小精度
    • 大类型–>小类型
  • 语法

    小类型 变量名 = (小类型)

* 代码

  ```java
  public class Demo11_TypeTransfer {
  	public static void main(String[] args) {
  	byte n = 2;
  	byte m = 3;
  	byte l = (byte)(n + m);
  	}
  }

11. 字符和字符串参与运算

  • 字符参与运算

    • char类型会自动升成int类型,结果参考ASCII码表
      • 0–>48 A–>65 a–>97
  • 字符串参与运算

    • 任何类型的数据和字符串使用“+”运算时都会被看成字符串,再拼接
      System.out.println('a'+1) //输出98
      System.out.println("hello"+1) //输出hello1
      System.out.println("hello"+('a'+1)) //输出hello98
      

12. 进制的概述

  • 概述

    • 进位制,即人们定下的一种进位规定,二进制即逢2进1,八进制即逢8进1,等等
  • 二进制

    • 即0,1,逢2进1
  • 八进制

    • 二进制表示数字太长,以3位二进制表示1位八进制
  • 十六进制

    • 八进制表示数字太长,以4位二进制表示1位十六进制

13. 为什么128GB的硬盘只有119GB

  • 分析
    • 厂商计算方式
      • 以1000作为 b kb mb g之间的进率
    • 电脑计算方式
      • 以1024作为 b kb mb g之间的进率

14. 不同进制的表现形式

  • 二进制

    • 以0b开头
  • 八进制

    • 以0开头
  • 十六进制

    • 以0x开头
  • public class Demo06_scale {
    	public static void main(String[] args) {
    		System.out.println(0b100);
    		System.out.println(0100);
    		System.out.println(0x100);
    	}
    }
    
    

15. 不同进制转十进制

  • 在线转换网站

16. 十进制转任意进制

  • 除积倒取余

    17. 原码补码反码

  • 概述

    • 计算机进行数字运算时使用的是补码
  • 原码

    • 就是二进制数本身,只是在前面多了一个符号位
  • 反码

    • 正数的反码就是原码,负数的反码就是将原码0变1,1变0,符号位不变
  • 补码

    • 正数的补码就是原码,负数的补码就是反码的末尾+1
  • 解释7+(-7)= 0
    小白学习java第二天_第3张图片

    18. 精度损失

  • 问题说明

    • 2个byte类型的值num1,num2,加和之后进行强转

      public class Demo09_AccuracyLoss {
      	public static void main(String[] args) {
      		byte num1 = 66;
      		byte num2 = 70;
      		byte sum = (byte)(num1 + num2);
      		System.out.println(sum);
      	}
      }
      //输出结果是-120
      
    • 为什么两个正数的加和却是一个负数?

    • 计算机内部进行数字加和的时候是以补码的形式进行加和的。66+70=136 即 1000 1000

存中…(img-cJN3AGcq-1593609648405)]

18. 精度损失

  • 问题说明

    • 2个byte类型的值num1,num2,加和之后进行强转

      public class Demo09_AccuracyLoss {
      	public static void main(String[] args) {
      		byte num1 = 66;
      		byte num2 = 70;
      		byte sum = (byte)(num1 + num2);
      		System.out.println(sum);
      	}
      }
      //输出结果是-120
      
    • 为什么两个正数的加和却是一个负数?

    • 计算机内部进行数字加和的时候是以补码的形式进行加和的。66+70=136 即 1000 1000

    • (num1+num2)应该是一个int型的数,int型有4个字节,强转为byte后,损失了3个字节(byte只有1个字节),一个字节是8位,此时1000 1000是在计算机内以补码的形式存在,要将其化为原码再显示出来,此时第一位的1为符号位,先计算出其反码 1000 0111 再计算其原码,1111 1000,再将后面7位转换成十进制,1为符号位,结果即为-120

思维导图

小白学习java第二天_第4张图片

你可能感兴趣的:(小白学java,java,小白学习java)