首页 > 编程语言 >java常量变量

java常量变量

时间:2024-02-21 16:34:11浏览次数:40  
标签:进制 java 常量 int System println 变量 out

标识符

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

规则:

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

    }
}

标签:进制,java,常量,int,System,println,变量,out
From: https://www.cnblogs.com/peculiar/p/18025579

相关文章

  • Java导入功能实现
    今天记录一下Java实现导入数据到数据,导入失败显示如下,会告诉你哪里出错了。controller代码实现@Operation(summary="导入工单")@PostMapping("/importOrderData")publicBaseResponse<String>importOrderData(@RequestParam@Parameter(name="excelFile",......
  • 《Effective Java》阅读笔记-第九章
    EffectiveJava阅读笔记第九章通用编程第57条将局部变量的作用域最小化将局部变量的作用域最小化,可以增强代码的可读性和可维护性,并降低出错的可能。将局部变量的作用域最小化,最好的办法就是在第一次使用变量的地方声明它。几乎每一个局部变量都应该进行初始化。第5......
  • 《Effective Java》阅读笔记-第八章
    EffectiveJava阅读笔记第八章方法第49条检查参数的有效性基于“发生错误后应尽快检测出错误”这一通用原则,应对方法的参数进行检查。Java7中增加了Objects.requireNonNull方法,可以很方便的对参数进行null检查并抛出异常:publicvoidsomeMethod(Stringargs){ar......
  • 《Effective Java》阅读笔记-第十一章
    EffectiveJava阅读笔记第十一章并发第78条同步访问共享的可变数据多线程访问变量时,需要进行同步,否则就会产生并发问题。同步代码块、加锁等或者直接不共享变量,也就是将可变数据限制在单个线程内。ThreadLocal这种第79条避免过度同步为了避免活性失败和安全性失败......
  • 《Effective Java》阅读笔记-第十章
    EffectiveJava阅读笔记第十章异常第69条只针对异常的情况才使用异常说白了就是不要吧你的业务逻辑用异常来写。举个反例比如用抛出异常来遍历一个数组:try{inti=0;while(true){range[i++].doSomething();}}catch(ArrayIndexOutOfBoun......
  • 《Effective Java》阅读笔记-第十二章
    EffectiveJava阅读笔记第十二章序列化第85条其他方法优先于Java本身的序列化Java本身的序列化漏洞过多,很容易被攻击。避免被序列化攻击的最好方式就是不要反序列化任何字节流,并且新的系统中没有任何理由使用Java本身的序列化。JSON和Protobuf是两种优秀的序列化......
  • java类初始化及代码块加载顺序连根拔起
    说明相信很多人对于java中父子继承关系中,子类实例化调用过程中,代码块的执行顺序都容易忘记或搞混,尤其是java初级笔试题或面试题最容易出这类题目,让人恨得牙痒痒!!!本文就一次性将其连根铲除,看完你就不会有这个烦恼了,哈哈。先引用一下骨灰级大作《Java编程思想》的复用章节Java......
  • Hutool一些字符常量
    字符串常量Hutool定义了一些字符常量,可以灵活使用。部分常量如下所示:一些常量StrUtil.DOT点StrUtil.DOUBLE_DOT双点StrUtil.UNDERLINE下划线StrUtil.EMPTY横杠StrUtil.BACKSLASH反斜杠StrUtil.DASHED破折StrUtil.BRACKET_END右中扩号StrUtil.BRACKET_START......
  • 一键脚本破解最新版 idea 步骤,开启学习java 之旅,好好好
    效果:步骤1、idea安装:直接在官网下载最新idea-2022.2.3.dwg(:官网地址,然后根据安装引导一步一步完成安装即可,完成后打开idea看到如下效果表示idea安装成功!如图发现idea需要注册!这里我们先不管,直接关闭idea准备激活!步骤2、下载最新的破解包https://pan.baidu.com/s/1iQby9......
  • Hutool - 简化Java编程的法宝,让工作更高效
    一、在项目的pom.xml的dependencies中加入以下内容:<dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</artifactId><version>5.0.7</version></dependency>非Maven项目的话就自己百度下载一下jar包,导入即可。二、StrUtil看这里名字也应该明白了,......