java常量变量

标识符

标识符:给类,接口,方法,变量等起名时使用的字符序列

规则:

1.英文大小写构成

可以有数字,下划线_和$存在

规范

1.不能以数字开头

2.不能是Java中的关键字

3.区分大小写

4.要见名知意

5.不要出现除了下划线_和$以外的特殊字符

包(其实就是文件夹,用于解决相同类名问题) 由英文小写字符构成

​ 单级:shujia
​ 多级: com.shujia.day01

### 类或者接口  每个单词首字母大写,其余字符小写

​ 一个单词:Student
​ 多个单词:HighStudent

### 方法和变量  第一个单词全部小写,从第二个单词开始,首字符大写

​ 一个单词:eat
​ 多个单词:playGame

### 常量 所有字符都是大写,单词与单词之间使用下划线拼接

​ 一个单词: NAME
​ 多个单词: FIRST_NAME

注释

/*
注释:用于解释说明的文字

单行注释:// 被注释的文字
多行注释:/※ 被注释的文字 ※/
文档注释:/※※ 被注释的文字 ※/

注释的作用:
    1、解释说明程序
    2、帮助我们排错(后面会学习debug排错)
*/

class类

1、在IDEA中,一个java文件中可以编写多个class类,将来编译的时候,有多少个class类,就会产生多少个class文件
2、但是只能有一个class类被public修饰,并且加public修饰的类必须要与java文件名字一致!

关键字

关键字:被java语言赋予特殊含义的单词
特点:都是小写字母构成
识别:像IDEA这样的工具,可以将关键字赋予特殊的颜色

常量

常量:在java程序运行过程中,其值不会发生改变的量(进制准换具体见前面的随笔)

分类:
    字面值常量:
        整数常量:所有的自然整数都是整数常量
            二进制:由0,1构成,逢2进1,以0b开头
            八进制:由0,1,2,3,4,5,6,7构成,逢8进1,以0开头
            十进制:由0,1,2,3,4,5,6,7,8,9构成,逢10进1,默认整数就是10进制
            十六进制:由0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f构成,逢16进1,以0x开头
            注意:在IDEA中控制台默认输出的进制是10进制的结果
            进制转换:
                其他进制到10进制:系数*原进制数指数次幂之和
                10进制转其他进制:除基取余,直到商为0,余数反转
                其他进制到其他进制:由10进制为中间桥梁转换
                2进制与十进制之间的快速转换:8421码
            计算机中所有的运算都是采用补码的形式进行的
            原码:
                正数的原码与二进制一致,最高位为0
                负数的原码数值位与二进制一样,最高位是1
            反码:
                正数的原码,反码,补码一致
                负数的反码与原码,符号位不变,数值位按位取反
            补码:
                正数的原码,反码,补码一致
                负数的补码是反码的末位+1

        小数常量:12.34
        字符串常量:由双引号组成的若干个字符 "hello"
        字符常量:由单引号括起来的单个字符  'a'
        布尔常量:true false
        空常量(放到数组的时候讲解): null 结合变量或者表达式使用
    自定义常量:(放到面向对象的时候讲解)
public class ChangLiangDemo1{
    public static void main(String[] args){
        //输出整数常量100
        System.out.prntln(100);
        //输出各种进制的100
        System.out.println(0b100);
        System.out.println(0100);
        System.out.println(100);
        System.out.println(0x100);
        //输出一个小数常量
        System.out.prinyln(12.34);
        //输出一个字符串常量
        System.out.println("hello");
        System.out.println('a');
        System.out.println(true);
        System.out.println(false);
    }
}

变量

数据类型:Java是强类型语言,每一个数据都被定义一个固定的数据类型

分类:

1.基本数据类型

整数类型 所占总字节数 范围
byte 1个字节 -27~27-1
short 2个字节 -215~215-1
int 4个字节 -231~231-1
long 8个字节 -263~263-1
小数类型 所占字节二总数 范围
float 4个字节 -231~231-1
double 8个字节 -263~263-1
字符类型 所占字节二总数 范围
char 根据实际编码变化
布尔类型 所占字节二总数 范围
boolean 1个字节 -27~27-1

2.引用数据类型(数组,面向对象的时候再来补充)

变量定义的语句格式

数据类型 变量名=初始化值;

注意事项:

1.在同一个作用域下(同一个大阔号下),变量名不能重复出现

2.整数的默认类型为int类型,想要定义一个long类型的变量,需要在数值的后面加上L或者是l,推荐使用L

3.小数默认的double数据类型

4.想要定义一个float类型的变量,需要在数值的后面加上F或者是f,推荐使用F

5.遍历必须要有初始化值,否则无法使用

public class DataTypeDemo1{
    public static void main(String[] args){
         //定义一个byte数据类型的变量
        byte b1 = 100;
        System.out.println(b1);  //使用变量实际上就是使用变量中存储的值
        //定义一个short数据类型的变量
        short s1 = 1000;
        System.out.println(s1);
        int i1 = 10000;
        System.out.println(i1);
        long i2 = 10000000000000L;
        System.out.println(i2);

        //定义一个float数据类型的变量
        float f1 = 12.34F;
        System.out.println(f1);

        double d1 = 12.34;
        System.out.println(d1);

        char c1 = '数';
        System.out.println(c1);
        boolean b2 = true;
        boolean b3 = false;
        System.out.println(b2);
        System.out.println(b3);

        {
            int z1 = 200;
            System.out.println(z1);
        }

        int z1 = 300;
        System.out.println(z1);

        int z2;
        z2 = 100;
        System.out.println(z2);

        //建议一行只定义一个变量
//        int n1;
//        int n2;
//        int n3;

//        int n1;int n2;int n3;

        //一次性定义多个同一数据类型的变量
        int n1,n2,n3;

    }
}

面试题

/*
    面试题:
    byte b = 130; 有没有问题?
    怎么解决?强制类型转换。
 */
public class DataTypeDemo3 {
    public static void main(String[] args) {
        byte b = (byte)140;
        System.out.println(b); // -116
    }
}
/*
    130的二进制:10000010
    130的补码:00000000 00000000 00000000 10000010

    截取后:10000010
    已知补码求原码:
                符号位   数值位
        补码:    1      0000010
        反码:    1      0000001
        原码:    1      1111110
                      64+32+16+8+4+2  ->  -126


 */
package com.shujia.day02;

/*
    面试题:
        System.out.println(’a’);
        System.out.println(’a’+1);

        System.out.println("hello"+’a’+1);
        System.out.println(’a’+1+"hello");
        System.out.println("5+5="+5+5);
        System.out.println(5+5+"=5+5");

    结论:
        1、加号➕两边只要有一边是字符串,就做字符串拼接操作,结果依旧是字符串
        2、加号➕之间的运算顺序是从左向右
        3、加号➕两边只要没有字符串,就做加法运算
 */
public class DataTypeDemo4 {
    public static void main(String[] args) {
//        System.out.println('a');
//        System.out.println('a' + 1); //字符与数值之间运算,会先将字符转变成对应的ASCII码值,再运算

        System.out.println("hello" + 'a' + 1); // helloa1
        System.out.println('a' + 1 + "hello");  // 98hello
        System.out.println("5+5=" + 5 + 5);  // 5+5=55
        System.out.println(5 + 5 + "=5+5");  // 10=5+5

    }
}

posted @ 2024-02-21 16:28  peculiar-  阅读(31)  评论(0)    收藏  举报