Java学习笔记2 - Java程序基础

Java程序基础

变量

Java中变量分为基本类型引用类型,都必须先定义后使用,同时可以赋一个初值,主要有如下特点:

  • 可以重新赋值;

  • 给其他变量赋值;

/**
 * Created with IntelliJ IDEA.
 * Version : 1.0
 * Author : cunyu
 * Email : [email protected]
 * Website : https://cunyu1943.github.io
 * Date : 2019-11-9 15:07
 * Project : JavaLeaning
 * Package : PACKAGE_NAME
 * Class : Varia
 * Desc :
 */
public class Varia {
    public static void main(String[] args) {
//      定义变量,并赋予初值,int型
        int numInt = 1024;
        int num2Int;
//      打印变量的值
        System.out.println("numInt = " + numInt);
//      重新赋值并打印
        numInt = 2048;
        System.out.println("numInt = " + numInt);
//      给其他变量赋值并打印
        num2Int = numInt;
        System.out.println("num2Int = " + num2Int);
//      byte
        byte numByte = 1;
//      long
        long numLong = 10000l;
//      float
        float numFloat = 3.14f;
//      double
        double numDouble = 3.4e10;
//      boolean
        boolean judgeBoolean = true;
//      char
        char characterChar = 'k';;

//      分别打印各类型变量和所占字节数
        System.out.println("byte:" + numByte + ", 字节数:" + Byte.SIZE / 8);
        System.out.println("int:" + numInt + ", 字节数:" + Integer.SIZE / 8);
        System.out.println("long:" + numLong + ", 字节数:" + Long.SIZE / 8);
        System.out.println("char:" + characterChar + ", 字节数:" + Character.SIZE / 8);
        System.out.println("float:" + numFloat + ", 字节数:" + Float.SIZE / 8);
        System.out.println("double:" + numDouble + ", 字节数:" + Double.SIZE / 8);

    }
}

基本数据类型

  • 整形:byte、short、int、long;

  • 浮点型:float、double;

  • 字符类型:char;

  • 布尔类型:boolean;

基本数据类型占用的字节数
数据类型 字节数 封装器类 最大范围
byte 1 Byte -128 ~ 127
short 2 Short -32768 ~ 32767
int 4 Integer -2147483648 ~ 2147483647
long 8 Long -9223372036854775808 ~ 9223372036854775807
float 4 Float 最大为3.410383.4*10^38
double 8 Double 最大为1.79103081.79*10^{308}
char 2 Character 除开标准ASCII外,还可表示Unicode字符
boolean 视情况,一般为4字节 Boolean 只有falsetrue
注意
  • long类型的结尾需要加L

  • float类型的结尾需要加f

  • 在定义变量时,加上final修饰符,则变成了常量,常量一旦被初始化,则不能再次被赋值;

  • 使用var来省略变量类型,然后编译器会自动推断出变量类型;

变量作用范围
  • Java中,多行语句用{}括起来,此时在语句块中的变量有一个作用域,即从定义开始,到语句块结束,不得超出作用域引用范围;

引用类型

  • 接口

  • 数组

  • 枚举

  • 标注

各数据类型间的运算

整数运算
  • 运算符优先级
第一级 ()
第二级 !、~、++、–
第三级 *、/、%
第四级 +、-
第五级 <<、>>、>>>
第六级 &
第七级 |
第八级 +=、-=、*=、/=
  • 相关实例
/**
 * Created with IntelliJ IDEA.
 * Version : 1.0
 * Author : cunyu
 * Email : [email protected]
 * Website : https://cunyu1943.github.io
 * Date : 2019-11-10 11:29
 * Project : JavaLeaning
 * Package : PACKAGE_NAME
 * Class : Operation
 * Desc : 数据类型间的运算
 */
public class Operation {
    public static void main(String[] args) {
/**
 * 整数运算
 * +:加法
 * -:减法
 * *:乘法
 * /:除法
 * %:求余
 * ++:自增
 * --:自减
 * <<:左移
 * >>:右移
 */
        int numInt = 100 + 200 * 3 - 300 / 4 + 100 % 23;
        System.out.println("整数运算:" + numInt);

        System.out.println("自增/自减运算:");
//        自增
        ++numInt;
        numInt++;
        System.out.println(numInt);
        numInt++;
        ++numInt;
        System.out.println(numInt);

//        自减
        numInt--;
        --numInt;
        System.out.println(numInt);
        --numInt;
        numInt--;
        System.out.println(numInt);

        System.out.println("移位运算:");
//        右移
        numInt = numInt >> 4;
        System.out.println(numInt);

//        左移
        numInt = numInt << 2;
        System.out.println(numInt);

//        位运算
        System.out.println("位运算:");
        int num2Int;
        num2Int = 0 & 1;
        System.out.println(num2Int);
        num2Int = 1 | 2;
        System.out.println(num2Int);
        num2Int = 3 ^ 2;
        System.out.println(num2Int);
        num2Int = ~3;
        System.out.println(num2Int);
    }
}
布尔运算
  • 关系运算符优先级
第一级 !
第二级 >、>=、<、<=
第三级 ==、!=
第四级 &&
第五级 |
  • 短路运算

当一个布尔运算的表达式能够提前确定结果,则后续计算不再执行,直接返回结果;

  • 三元运算符

a?x:y,根据布尔表达式的结果,然后返回后续两个表达式之一的计算结果;

int n = 10;
int x = n >= 0 ? -n : n;
System.out.println(x)
字符串运算
  • 常见转义字符
表达式 含义
\\ 字符\
\n 换行符
\t Tab
\r 回车符
\u#### 一个Unicode编码字符
  • 字符串连接

使用+来连接任意字符串和其他数据类型,方便了字符串的处理;

  • 多行字符串

字符串用"""..."""来表示多行字符串,举例:

String str = """
             SELECT * FROM user
             WHERE id < 10
             ORDER BY score DESC
         """;
  • 不可变性

Java中字符属于引用类型,不可以改变,平常我们使用时表面看似变了,但实际上边的不是字符串,而是字符串变量的指向变了;

  • 空值null和空字符串"";

空值null表示不存在,即该变量不指向任何对象;

数组
  • 定义某一类型的数组时,使用数据类型[] 数组名,如int[] arrInt = new int[10]

  • 数组所有元素初始化为默认值,整型为0,浮点型为0.0,布尔型为false

  • 数组是统一数据类型的集合,一旦创建之后,其大小就不可以再改变;

  • 可以在定义时直接初始化,如int[] arrInt = new int[] {1,3,5,7,9}或者int[] arrInt = {1,3,5,7,9}

发布了93 篇原创文章 · 获赞 65 · 访问量 12万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章