第二天笔记

本文详细介绍了Java编程中的变量,包括其定义、分类及作用域;讲解了数据类型,如整型、浮点型、字符型、布尔型及其默认值;讨论了转义字符、数值表现形式以及各种运算符的用法。此外,还强调了在IDEA中使用变量的注意事项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

使用idea的注意事项

  1. 要把资源新建在src目录下

  2. 先建立包(文件夹)在建立类型

  3. 类的首行会出现包信息,package com.yjxxt.test

  4. idea自动保存代码,并提供预编译能力,检查语法,提示问题

  5. 运行代码:

    • 行号的后面显示播放的按钮,点击运行main方法

    • 鼠标右键选择运行main方法

    • 通过快捷键

public class Class001_Test {
    //主方法快捷键 : main-->enter  |   psvm->enter
    public static void main(String[] args) {
        //输出语句快捷键 : sout->enter
        System.out.println("123");
    }
}
​

变量

什么是变量:

存储单个数据

  • 程序执行过程中,其值可以发生改变的量

  • 内存中开辟一块空间,用来存放指定类型的数据

  • 相当于造盒子

    • 盒子:变量

    • 盒子的名字:变量名

    • 盒子中存储的数据:变量的值

    • 盒子的类型|盒子的大小:数据类型

      • 常用的数据类型:整数int 小数double 布尔boolean 字符char-->'a' 字符串String--->""

变量定义

  1. 声明的同时赋值

    数据类型 变量名 = 数据值

    byte num1=1;

  2. 先声明 后赋值

    数据类型 变量名

    变量名 = 数据值

    byte num2
    num2=2;

    注意: =是Java唯一一个自右向左运算的符号

定义变量需要关注的内容

  1. 数据类型:对应类型的数据赋值给对应类型变量

  2. 变量名:标识符的命名规则和命名规范

  3. 变量的值:与数据类型匹配

  4. 作用域:有效范围 {}-->块(从变量的声明开始到包括他的离他最近的}结束)

变量的分类

  • 局部变量:

    • 定义在局部位置(方法中|语句块中)

    • 使用之前必须声明并且已经赋值,它是没有默认值的

  • 成员变量:

    • 定义在成员位置的变量

    • 只声明不赋值存在默认值

      整数0 小数0.0 布尔false char空字符 字符串null

public class Class001_Variable {
    //成员位置 : 类中 方法外
    int i = 1;
​
    public static void main(String[] args) {
        //局部位置
        //定义一个变量,存储学生年龄
        int age = 18;
        System.out.println(age);
​
        //声明一个变量,存储一个学生姓名
        String name;
        name = "张三";
​
        System.out.println(name);
​
        //同时声明多个变量
        double d1,d2,d3;
​
        d1=d2=d3=1.1;
        System.out.println(d1);
        System.out.println(d2);
        System.out.println(d3);
​
        //同时定义多个变量(声明与 赋值)
        char ch1='a',ch2='b',ch3='c';
        System.out.println(ch1);
        System.out.println(ch2);
        System.out.println(ch3);
    }
​
}
​

常量

常量:在程序执行过程中其值不能发生改变的量

分类:

  1. 字面值常量

    • 整数常量 0 100 -1 ......

    • 小数常量 1.0 0.5 -2.3 .....

    • 布尔常量 true false

    • 字符常量 'a' '中' '1' ',' ' ' ......

    • 空常量 null

  2. 自定义常量

    final 最终的

    final修饰的变量为常量

public class Class002_Constant {
    public static void main(String[] args) {
        //把一个字面值常量18赋值给了int类型的变量age
        final int AGE = 18;
​
        final boolean FLAG = true;
​
        System.out.println(FLAG);
        System.out.println();
    }
}

数据类型

数据类型 : 强类型语言 规定存储数据的大小

计算机基本存储单位 : 为字节 1byte = 8bit

分类 :

  • 基本数据类型 : 4类八种

  • 引用数据类型 : 类 接口 数组[]

基本数据类型 : 4类八种

整型

  • byte 字节型 1个字节 [-128,127]

  • short 短整型 2个字节 [-32768,32767] +-3万

  • int 整型 4个字节 +-21亿

  • long 长整型 8个字节 非常大

    注意 : 在java整数字面常量值数据类型默认为int类型 表示long类型的字面常量值,在数据后面添加l|L

浮点型

浮点型 : 小数

  • float 单精度 一般精确表示小数点后7位左右 4个字节

  • double 双精度 一般精确表示小数点后15位左右 8个字节

    注意 :

    • 在java浮点类型字面常量值数据类型默认为double类型

    • 在java中表示float类型数据,在数据的后面添加F\f

    • 存储或运算可能不精确

字符型

char 字符型 2个字节

字符型表现形式 :

  1. 一对''包裹任意一个字符

  2. 通过0~65535之间的整数表示字符 Unicode字符集

布尔型

布尔型 : 表示正|反 对|错 真|假 boolean 布尔型 1个字节 1bit有效位

public class Class003_DataType {
    public static void main(String[] args) {
        //byte
        byte b1 = -128;
        byte b2 = 127;
        System.out.println(b1);
        System.out.println(b2);
​
        //short
        short sh1 = 1;
        short sh2 = -20000;
        System.out.println(sh1);
        System.out.println(sh2);
​
        //int
        int i = 100;
        System.out.println(i);
​
        //long
        long l1 = 41474111111L;
        System.out.println(l1);
​
        System.out.println(0.1+0.2);
​
        //double
        double d1 = 123.12345678912;
        System.out.println(d1);
​
        float f1 = 0.15f;
        System.out.println(f1);
​
        //char
        char ch1 = 'a';
        char ch2 = '1';
        char ch3 = '中';
        char ch4 = ' ';
        char ch5 = ',';
        char ch6 = 97;
        System.out.println(ch6);
​
        //boolean
        boolean flag = true;
        System.out.println(flag);
    }
}
​

转义字符

转义字符 : 在java中一些字符具有特殊含义,可以通过转义字符转义具有特殊含义的字符,让它只表示字符本身

转义字符从\开始

\+要转义的字符

\t 制表符: 一个制表符位占8个空格 如果前面的内容满制表符位的整数倍,遇到\t直接开辟一整个制表符位 如果前面的内容不满制表符位的整数倍,加上前面的内容补全一整个制表符位

\n 换行 : 光标从行尾换到下一行的行首

\b 退格: 光标回退一格,如果在\b后面还需要输出其他内容,在光标位置如果存在原有内容会覆盖

public class Class004_Demo {
    public static void main(String[] args) {
        System.out.print('\'');
        System.out.println("\"");
        System.out.println("\\");
​
        System.out.println("a\tb");
        System.out.println("abc\tb");
        System.out.println("\tb");
        //cmd中,一个字母数字符号占一个空格,一个汉字占2个空格
        System.out.print("中\tb");
        //print: 输出()中的内容,输出完毕结束,光标还在行尾
        //println: 输出()中的内容,输出完毕,光标还换到下一行行收,然后结束
        System.out.println();  //换行
        System.out.println("张三lisi"); 
        System.out.println("张三lisi\b!"); 
        
    }
}

数值表现形式

整形的表现方式

  • 进制:满几进一

  • 二进制:由0~1组合, java中由0b|0B开头

  • 八进制 : 由0~7组合, java中由0开头

  • 十进制 : 默认

  • 十六进制 : 由0~9,a~f|A~F组合, java中由0x|0X开头

转换: 其他进制转成十进制 : 从最后往前,从右往左,拿每一位的数据*进制数,次方从0开始,每次+1

十进制转成其他进制 : 求余数计算方式,转为几进制,就使用数据不停的除以进制数,知道结果0,所有的余数,从后往前

浮点数表现形式

  • 小数的整数位为0的时候,0可以省略

    0.5--->.5

  • 科学计数法

    e---->10

    1.23e2--->1.23*10^2---->123.0

    1.23e-2---->1.23*10^-2----->0.0123

public class Class005_Radix {
​
    public static void main(String[] args) {
        System.out.println(0B10);
        System.out.println(010);
        System.out.println(10);
        System.out.println(0x10);
        System.out.println(0x1a);
​
        //其他进制转成十进制
        System.out.println(0B101); //1*2^0  + 0*2^1 + 1*2^2 = 1+0+4 = 5
        System.out.println(0101); //1*8^0  + 0*8^1 + 1*8^2 = 1+0+64 = 65
​
        //十进制转成其他进制
        System.out.println(0b1100);
        System.out.println(014);
        System.out.println(0xc);
​
        //练习 : 521 转为2,8,16进制
​
​
        System.out.println(0.5);
        System.out.println(.5);
​
        //科学计数法
        System.out.println(1.23e2);
        System.out.println(1.23e-2);
    }
}
​

运算符

分类:

  • 算术运算符

  • 赋值运算符

  • 比较运算符|关系运算符

  • 逻辑运算符

  • 条件运算符

  • 位元素安抚

操作数:运算符左右两边的数据为操作数

表达式:运算符连接两边的操作数整体称为表达式 a+b

语句:;是一个语句的结束

根据操作数的个数进行分类 : 一元运算符|单目运算符 : 操作数只有1个 ++ -- 正号 符号 二元运算符|双目运算符 : 操作数只有2个 + - * / ... 三元运算符|三目运算符 : 条件运算符

算数运算符 :

+ - * / %

+:

  1. 正号

  2. 加法运算

  3. 字符串的连接符 当+左右两边一旦出现字符串,+就作为字符串的连接符存在,将左右两边的数据连接成为一整个字符串作为结果

% : 取余 当第一个操作数<第二个操作数,结果为第一个操作数

++ -- 注意 : 当字符型参与运算,字符会先转为十进制的整数再参与运算

public class Class001_Operator {
    public static void main(String[] args) {
        System.out.println();
        int i= +1;
        int j = 2;
        int m = 2;
        System.out.println("i = "+i);  //"i = 1"
        System.out.println("j = "+j);
        System.out.println("m = "+m);
​
        System.out.println('a'+1);
        System.out.println("hello"+'a'+1);  // "helloa1"
        System.out.println('a'+1+"hello");  // "98hello"
​
        System.out.println(1%5);  //1
        System.out.println(2%5);  //2
        System.out.println(3%5);  //3
        System.out.println(7%5);  //2
    }
}

++自增 --自减 :

  • a++|++a ---> a = a+1;

  • a--|--a ---> a = a-1;

只影响操作数本身,不影响其他结果 ++放在操作数的前面或者后面都是自身+1 --放在操作数的前面或者后面都是自身-1

影响操作数自身的值还影响其他结果(赋值|运算|输出) ++|--放在操作数的前面,先自身+1|-1,然后再去运算 ++|--放在操作数的后面,先参与运算,然后自身+1|-1

public class Class002_Operator {
    public static void main(String[] args) {
        int a = 5;
        ++a; //a=a+1;
        System.out.println(a); //6
        a--;
        System.out.println(a); //5
​
        //影响其他结果
        int b = ++a;
        System.out.println(a); //6
        System.out.println(b);  //6
        //sout-->a=6  a=a-1
        System.out.println(a--); //6
        System.out.println(a); //5
​
        int c = 1+ a++;
        System.out.println(a);  //6
        System.out.println(c);  //6
​
        int i = 3;
        int n = i++ + ++i + i++ + ++i + i++;
        System.out.println(i); //8
        System.out.println(n);  //27
​
        //练习
        int k=20;
        int j=8;
        int totle = k++ + j-- + --j + ++k + k++ + j++ + k-- + --k + j++;
        System.out.println("k="+k+",j="+j+",totle="+totle);  //21  8  135
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值