package JAVA_BASIC;
public class A_2_symbol {
public static void main(String[] args) {
/*标识符:给类、方法、变量等起名字的符号
定义规则:
由数字、字母、下划线、美元符号组成
不能以数字开头
不能是关键字
(关键字是编程语言的一部分,不能被用作标识符或变量名。它们具有固定的含义,并在语言中有特定的用法。)
(标识符是由开发人员根据需要自定义的,用于表示特定的实体或对象。)
区分大小写
(Class符合规则、class(是一个关键字)不符合规则)
命名约定:
小驼峰命名法(方法、变量):一个单词首字母小写,多个单词构成,第一个单词首字母小写,其他大写
大驼峰...(类)
*/
/*
类型转换(强制、自动):
自动:数据范围小的赋值给表示数据范围大的变量(char和short等级别,byte可以到short但不能到char,int,long,float,double)。
强制:把一个表示数据范围大的数值或变量赋值给另一个表示数据范围小的变量。
目标数据类型 变量名 = (目标数据类型)值或变量
1、byte(字节):
byte是最小的整数类型,占用1个字节的存储空间(8位)。
范围为-128到127,用于存储较小的整数值,如字节数据或文件内容。
2、short(短整数):
short是短整数类型,占用2个字节的存储空间(16位)。
范围为-32,768到32,767,适用于需要节省内存空间的整数数据。
3、char(字符):
char是用于存储单个字符的数据类型,占用2个字节的存储空间(16位)。
范围为0到65535,可用于存储Unicode字符,如字母、数字和特殊字符。
4、int(整数):
int是整数类型,占用4个字节的存储空间(32位)。
范围为-2,147,483,648到2,147,483,647,是Java中最常用的整数类型。
5、long(长整数):
long是长整数类型,占用8个字节的存储空间(64位)。
范围为-9,223,372,036,854,775,808到9,223,372,036,854,775,807,适用于更大范围的整数值。
6、float(单精度浮点数):
float是单精度浮点数类型,占用4个字节的存储空间(32位)。
范围为大约±3.40282347E+38F,可用于存储具有小数部分的浮点数。
7、double(双精度浮点数):
double是双精度浮点数类型,占用8个字节的存储空间(64位)。
范围为大约±1.79769313486231570E+308,是Java中最常用的浮点数类型。
这些数据类型的选择取决于所需数据的范围和精度。根据具体的需求,我们可以选择合适的类型来存储和操作数据。
*/
double a = 10;
System.out.println(a);
byte b = 1;//一个字节,8个二进制位
short c = b;
System.out.println(c);//输出1
int d = c;
System.out.println(d);//输出1
long e = d;
System.out.println(e);//输出1
float f = e;
System.out.println(f);//输出1.0
double g = f;
System.out.println(g);//输出1.0
int k = (int)19.99;
System.out.println(k);//输出值为19,不建议使用,有数据丢失
/*
运算符:对常量或变量操作的符号,如+。
表达式:a+b(用算数运算符对应的是算数表达式)。
算数运算符:+ - * / % (加减乘除取余)
除法得到的是商,取余得到的是余数。
两个整数相除结果必为整数,要想得到小数,必须有浮点数参与
*/
System.out.println(6.0/4);//输出1.5
System.out.println("------------------");
/*
字符的+操作
字符可以和int类型作加法运算,它是有值的
算数表达式中包含多个基本数据类型的值时,整个算数表达式的类型会自动进行提升 byte,short,char-->int-->long-->float-->double
*/
int a1 = 10;
char a2 = 'A';
char a3 = 'a';
System.out.println(a2); //输出为A
System.out.println(a1+a2); //输出为75,说明'A'的值为65,'a'是97,'0'是48。
//char ch = a1+a2;
//char类型会被自动提升为int类型,从int转换到char可能会有损失,报错
int a4 = a1 + a2;
System.out.println(a4);//输出75
System.out.println("------------------");
/*
字符串+操作
*/
System.out.println("huawei"+"demo1");//拼接,输出huaweidemo1
System.out.println("huawei"+666);//输出huawei666
System.out.println(666 + "huawei");//输出666huawei
//字符串参与+操作时,做的不是加法运算而是字符串的拼接
System.out.println("huawei"+6+66);//输出huawei666
System.out.println(66 + 6 + "huawei");//从左向右逐个执行,先算数加再拼接,输出72huawei
System.out.println("------------------");
/*
赋值 =
+=(把左边和右边的数据作加法操作,结果赋值给左边) i += 10; i = i+10;
-=
*=
/=
%=
扩展的赋值运算符隐含了强制类型转换
*/
double b1 = 10; //把10赋值给int类型的变量b1
short b2 = 10;
b2 += 20; // 可行,+=操作隐含了强制类型转换
System.out.println(b2);// 输出30
System.out.println("------------------");
b2 =(short)(b2+20); //从int转换到short可能会有损失,类型提升
System.out.println(b2); // 输出30
System.out.println("------------------");
/*
自增自减运算符
*/
int c1 = 20;
//单独使用
System.out.println(c1);//20
c1++;
System.out.println(c1);//21
++c1;
System.out.println(c1);//22
c1--;
System.out.println(c1);//21
--c1;
System.out.println(c1);//c1=20
System.out.println("------------------");
//参与操作使用
int c2 = c1++; //++在后,先赋值再自加
int c3 = c1; //经过上一步自加后赋值
int c4 = ++c1; //++在前,先自加再赋值
System.out.println(c2);//20
System.out.println(c3);//21
System.out.println(c4);//22
/*
关系运算符(用于判断,结果为布尔类型值)
==
!=
>=
<
<=
*/
int d1=10;
int d2=20;
int d3=30;
System.out.println(d1==d2);//输出为false
System.out.println(d3=d2);//少写一个=,把d2的值赋给d3,并输出d3的值。
/*
逻辑运算符:x>3&&x<6
&:逻辑与,有false则false
|:逻辑或,有true则true
^:逻辑异或,不同则true,相同为false
!:逻辑非
短路逻辑运算符:
&&:短路与,与&作用相同,但有短路效果(左边为假,右边不执行)
||:短路或,与|作用相同,但有短路效果(左边为真,右边不执行)
*/
int e1=10;
int e2=20;
System.out.println((e1++>100)&(e2++>100)); //false
System.out.println("e1:"+e1+" "+"e2:"+e2); //e1:11 e2:21
System.out.println((e1++>100)&&(e2++>100)); //false(左边已经为false,右边不执行了)
System.out.println("e1:"+e1+" "+"e2:"+e2); //e1:12 e2:21
/*
三元运算符:
关系表达式?表达式1:表达式2;
先计算关系表达式的值,true,表达式1的值是运算结果;false,表达式2的值为运算结果。
int max=a>b?a:b;
*/
}
}
JAVA入门(第2篇)——运算符
于 2024-01-03 11:34:39 首次发布