Java语言入门||01_Java基础语法||day02_数据类型转换,运算符,方法入门

第一章 数据类型转换

1.1 自动转换(隐式)

  1. 规则:数据范围从小到大
    • 如int->long,float->double

1.2 强制转换(显式)

  1. 格式:范围小的类型 范围小的变量 = (范围小的类型)原本范围大的数据
    • 如:int num = (int)100L;
    •   char chars = 'a';
        int num = chars;    //小转大,值为97
      
  • 注:强制类型转换不推荐使用——>有可能发生精度亏损(int num = (int)3.999),数据溢出(int num = (int)600000000L)
  • 注:byte/short/++char++三种类型都可以发生++数学运算++,如“+”
    • char a = ‘A’ + 1; //结果66
  • 注:byte/short/++char++三种类型在运算过程中,默认提升成int型,在计算
    •   byte num1 = 40;
        byte num2 = 50;
        byte sum = num1 + num2; //错因为byte + byte——>int + int 所以要用int类型
        int sum = num1 + num2;
      
  • 注:byte/short/++char++三种类型在运算,真实大小++不能超过本身范围++,否则溢出
  • 注:boolean类型不能发生数据类型转换

1.3 ASCLL编码表

  1. 计算机底层数据都是二进制(数字)
  2. 必背:32——space,48——‘0’, 65——‘A’, 97——‘a’, 0——0
  3. 数字和字符对照关系表(编码表):
    • ASCLL——美国标准
    • Unicode——万国码

第二章 运算符

2.1 四则和取模

  1. 运算符:进行特定操作的符号:例+

  2. 表达式:用运算符连起来的式子:例2 + 5

  • 注:不同数据类型时候,谁大听谁的
  • 注:’+'三种用法
    • 1对数值就是加法
    • 2对char计算前先提升成int
    • 3对字符串String(首字母大写,并++不是关键字++),表示++字符串连接操作++
      • ++任何数据类型和字符串连接时候,都会变成字符串++

2.2算数运算符:+,-,*,/,%,++,–

  1. % 取模(正负关系只看左边值)
    • 9 % 4 = 1
    • -9 % 4 = -1
    • 9 % -4 = 1
  2. ++, – 自增运算符(只能变量)
    • ++num 先计算后赋值
    • num++ 先赋值再计算
    • 单独使用时候前后都一样
      • for(int i = 0; i < 3; i++)
      • for(int i = 0; i < 3; ++i)

2.3赋值运算符(只能变量):+=, -=, *=, /=, %=, =

  1. = 将右侧数据交给左侧变量
  2. 隐含了一个强制类型转换
        byte num = 5;
        num += 5;   //其中byte + int——>int + int——>(byte)int;
    

2.4比较运算符:==,<, >, <=, >=, !=, instanceof

  1. 结果一定是boolean类型
  2. 不可以连写
  3. instanceof判断左侧对象是不是右侧特定类的一个实例

2.5逻辑运算符:与&&, 或||, 非!

  1. && 都为真——>true
  2. || 一个为真——>true
  3. &&和||有短路效果:左边可以判断结果时候,右边代码将不执行
  4. 结果一定是boolean类型
  • 注:1分开写1 < x && x < 3

2.6三元运算符(三目运算符):数据类型 变量名称 = 判断条件 ? 表达式1 : 表达式2

  1. 成立——>表达式1
  2. 不成立——>表达式2
  • 注:两个表达式都要符合左侧数据类型(输出时不需要:sys(a < b ? a : b))
  • 三目运算符结果必须要使用(1.左侧数据类型2.或直接输出)

第三章 方法入门

3.1 概述

1.++方法++:将一个++功能++抽取出来

3.2 定义

  1. 格式:
    public static void 方法名称(){
        方法体;
    }
    
  • 注:静态方法只能访问静态成员(用static修饰的)
  • 注:方法的定义不能产生嵌套包含的关系
  • 注:方法定义好了不会执行,想执行需要++调用++

3.2 调用(执行方法的动作)

  1. 格式:
    方法名称();
    

3.3 JDK9中的JShell使用(简单轻量的小工具)

  1. 类似脚本编程——>一行一行执行
  2. 不用写主函数等等,只需要写运行逻辑和输出就行
        int a = 5;
        Sysout.out.println(a);
    
  3. 启动jshell
  4. 结束/exit

3.4 编译器的优点

  1. byte,short, char三种类型,如果右侧赋值的数值没有超过范围,那么编译器为我们隐含的补上了强转类型。超过就报错。
  2. 当给变量赋值时—>右侧全为常量时候:编译器会直接将常量计算结果赋值。
    • 不超过自身范围,所以正确
    • 这里称之为:++“编译器的常量优化”++
    • 右侧不能有变量,有了不再优化
    byte a = 5;
    byte b = 8;
    byte c = a + b; //错的,原因看1.2-1
    byte c = 5 + 8; //可以
    

你可能感兴趣的:(笔记)