Java教程

java基础之二->常量和变量、基本数据类型、运算符

本文主要是介绍java基础之二->常量和变量、基本数据类型、运算符,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

标识符(Identifier):

作用:常量 变量 方法 类和包等的名称
命名规则:
1、必须以字母,_下划线,美元符" " 开 头 2 、 其 他 部 分 可 以 是 字 母 、 下 划 线 , 美 元 符 " "开头 2、其他部分可以是字母、_下划线,美元符" "开头2、其他部分可以是字母、下​划线,美元符""和数字的任意组合
3、大小写敏感,长度无限制
4、不可以是Java关键字
注意:
1、java不采用通常语言使用的ASCII字符集
2、java采用Unicode这样的标准的国际字符集,因此,这里的字母的含义:英文、汉字等等。(不建议使用汉字来定义标识符)
正确的示范:name,Name,user_name,$name,_name,publicName
错误的:9username,user name,public

字符集简介:

ASCII:英文字符集1个字节
ISO8859-1:西欧字符集 1个字节
BIG5:台湾的大五码,表示繁体字,2个字节
GB2312:大陆使用最早,最广泛的简体中文字符集,2个字节
GBK:GB2312的扩展,可以表示繁体中文,2个字节
GB18030:最新的GBK的扩展,可以表示汉字,维吾尔文,藏文等中华名族字符,2个字节
unicode: 国际通用字符集 2个字节
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TjC024XG-1632109486955)(/img/bVcPjty)]

常量和变量:

常量:在程序运行过程中,值不会发生改变的量叫常量
使用final关键字修饰的变量称之为常量或者叫最终常量,表示不可修改
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-28WFpLCR-1632109486960)(/img/bVcPjAy)]

变量:在程序运行过程中,值会发生改变的量叫变量
在方法外声明的变量叫做成员变量,会有默认值,而在方法内声明的变量没有默认值,必须初始化
在这里插入图片描述

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YEjHWIxV-1632109486963)(/img/bVcPjAe)]

public class ConstantAndVar{
    static int d;//成员变量
    public static void main(String[] args){
        //声明
        int a;
        //赋值
        a = 10;
        //声明加赋值
        int b = 20;
        int c;
        System.out.println(d);
        //System.out.println(c);//存在错误,变量c没有初始化
        int x = 10, y = 10;
        
        final int c = 20;
    }
}

数据类型:

java是一种强类型语言
强类型:变量在定义的时候必须显示的什么类型是什么
弱类型:变量会根据值自己去推断,不需要指定类型是什么

整型 浮点型 字符型 布尔型(4类8种)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yEg9TRLD-1632109486967)(/img/bVcPjuy)]

整型:
byte:1个字节 -128->127
short:2个字节 -32768->32767
int: 4个字节 正负21亿
long:8个字节 使用时加L,如:long len = 311111111L;
浮点型:(默认都是double类型)
浮点类型不能表示精确的值,会有一定的精度损失
float: 单精度 使用float,需要加f,否则还是double类型,如:float f1 = 2.1221f
double: 双精度
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QyaXJQhx-1632109486969)(/img/bVcPjwx)]

字符型:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8Zp16Pgy-1632109486970)(/img/bVcPjwR)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-REMY0MEI-1632109486972)(/img/bVcPjw6)]

char:
https://www.cnblogs.com/wuqinglong/p/10329368.html
https://blog.csdn.net/ocean20/article/details/6743385
布尔类型:
boolean:只有true和false,存储占1位

运算符:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-auepTDn9-1632109486973)(/img/bVcPjBi)]

public class OperatorDemo{
    public static void main(String[] args){
        int a = 1;
        int b = 2;
        
        //算数运算符
        System.out.println(a+b);
        System.out.println(a-b);
        System.out.println(a*b);
        //取整除,或者取商
        System.out.println(a/b);
        //取余数,或者取模
        System.out.println(a%b);
        
        //单目运算符
        //++(--),表示在变量原有的基础上+1,谁在前,先运算谁
        System.out.println(a++);
        System.out.println(++a);
        //6 运算符优先级
        System.out.println(++b+b++);
        
        //扩展赋值运算符 += -= *= /=
        int c = 1;
        c+=2;
        //d是byte类型,d+1整体变成int类型,需要将int类型转换为byte,会有精度损失
        byte d = 10;
        //d = d+1;//所以此处会报错
        d+=1;//正常,因为它会自动转换,建议使用
        
        //关系运算符:返回值是boolean类型 只有true和false两种情况
        System.out.println(1>2);
        System.out.println(1<2);
        System.out.println(1>=2);
        System.out.println(1<=2);
        System.out.println(1!=2);
        System.out.println(1==2);
        
        //逻辑运算符
        //&&:表示短路与,两边的表达式,只要有一个是false,整体结果就是false,两边的表达式从左向右开始对比,如果左边的表达式是false,右边的表达式不再执行
        //||:表示短路或,两边的表达式,只要有一个是true,整体结果就是true,两边的表达式从左向右开始对比,如果左边的表达式是true,右边的表达式不再执行
        //!:表示取反,判断表达式,然后取反,如果表达式结果为true,取反是false,如果是false,取反就是true
        //&,|:与运算,或运算,两边的表达式都会参与运算
        System.out.println(3>5 && 3<4);
        System.out.println(3>5 || 3<4);
        System.out.println(!(3<4));
        System.out.println(3>5 & 3<4);
        System.out.println(3>5 | 3<4);
        System.out.println(!(3>4));
        
        //位运算符:只能操作数值,操作的时候会转成二进制进行运算
        //&:全为1则是1,否则为0 如:100&101=100
        //|:只要有1则为1,否则为0 如:100&101=101
        //^:不同为1,相同为0 如:100&101=001
        //~:
        System.out.println(4 & 5);
        System.out.println(4 | 5);
        System.out.println(4 ^ 5);
        System.out.println(~4);//结果为-5,涉及移码,补码,反码    
        //左移表示乘以2,右移表示除以2
        System.out.println(2<<3);
        System.out.println(16>>2);
        
        //条件运算符/三目运算符
        //使用时需要跟一个表达式,如果表达式为true,返回:前的结果,否则返回:后面的结果
        System.out.println(3>2 ? 3 : 2);
        System.out.println(true?false:true?false:true);
        System.out.println(false?false:true?false:true);
    }
}

运算符优先级:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ApRrXn9q-1632109486974)(/img/bVcPlEJ)]

基本数据类型之间的转换

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GtiG0lSN-1632109486975)(/img/bVcPmLJ)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pi134WYR-1632109486975)(/img/bVcPmNB)]

自动转换:如下图,bb自动转换为int类型
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uuqZS14u-1632109486976)(/img/bVcPmLW)]

强制转换:如下图,cc是byte类型,而aa+bb的结果是int类型,如果非要把结果赋值给cc,就将结果强制转换为byte类型
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6qrtvB99-1632109486977)(/img/bVcPmMP)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7dZGtEDQ-1632109486978)(/img/bVcPmPk)]

类型转换总结:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-28sBao8F-1632109486979)(/img/bVcPmPq)]

这篇关于java基础之二->常量和变量、基本数据类型、运算符的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!