java语言基础day02(变量,进制,数据类型,字符和字符串参与的运算,运算符)
变量
- 变量:在程序执行过程中,在某个范围内其值可以可以发生变化的量
- 定义变量的原因是:用来不断的存储同一类型的常量,且可以重复使用
- 变量的格式
数据类型 变量名 = 变量值
-
注意:变量在使用之前一定要进行赋值,否则不可以使用。即变量先赋值在使用。
定义long类型的数据,值的后面需要加一个后缀L 用来表示这是一个long类型的值
定义float类型是,值的后面必须加上一个后缀F,不加报错。
进制
-
二进制:由0,1组成。 以0b开头
-
八进制:由0,1,…7组成。 以0开头
-
十进制:由0,1,…9组成。 整数默认是十进制的
-
十六进制:由0,1,…9,a,b,c,d,e,f(大小写均可)。 以0x开头(x可大写)
进制转换
任意进制到十进制:位权展开法
-
十进制到任意进制的转换
除基取余 直到商为0 余数反转
十进制到X进制这个基就是X
数据类型的概述和分类
-
java中数据类型分为:
基本数据类型
(1)整数型
byte 1字节
short 2字节
int 4字节
long 8字节(2)浮点型
float 4字节
double 8字节
(3)字符型 char 2字节
(4)布尔型 boolean 1字节
2.引用数据类型(类 数组 接口)
-
注意:整数默认的类型是int类型,浮点型默认是double类型。
Java中的数据类型之间的转换
-
java中默认的转换规则
-
boolean类型不能转换为其他数据类型。
2. byte,short,char参与运算时,自动的提升为int型。 -
自动类型提升:byte short char 在参与数学运算时,会自动提升为int类型,如果还有long ,float double 参与运 算 则会相应的提升为 long float double ,布尔类型不参与数学运算,byte short char 之间不发生转换。
-
强制类型转换:强制将一个数据,转换成我们要的数据类型,强制类型转换,有可能会发生精度损失的问题
格式:目标数据类型 变量名=(目标数据类型)(被转换的数据)
-
常量优化机制:多个常量相加时,他会先算出结果,看没有在这个数据类型的范围内,如果在,就不报错,如果不在就会报错。
字符和字符串参与的运算
- ASCLL码表重要的三个值:‘0’----48
‘A’-----65
‘a’------97
-
+号运算符
当+号当做一个数学运算符来用,其相加的作用
+号 还可以起另外一个作用,当连接符来使用
当+号运算两端只要任意一端是一个字符串,那么加号就起连接符的作用,就会将两端的内容拼接起来,形成一个新的字符串System.out.println("Hello World!"+100); //"Hello World!100" System.out.println("Hello World!"+100+33);//"Hello World!10033" System.out.println("Hello World!"+"10033");// "Hello World!10033" System.out.println(100+"Hello World!");//"100Hello World!" System.out.println(100+"Hello World!"+100+33);//100Hello World!10033 System.out.println(100+11+"Hello World!"+100+33); //111Hello World!10033 System.out.println("5+5="+5+5);//"5+5=55" System.out.println(5+5+"=5+5");//"10=5+5"
运算符
-
运算符:对常量和变量进行操作的符号称为运算符
-
运算符的分类
算术运算符
赋值运算符
比较运算符
逻辑运算符
位运算符
三目运算符 -
算数运算符: + , - , * , / , % , ++ , –
注意:
-
整数相除只能得到整数。如果想得到小数,请使用浮点数
- 获取的是除法操作的商,%获取的是除法操作的余数
- %运算结果的符号,取决于参与运算是左边的符号
-
算术运算符++和–的用法
++:自加。对原有的数据进行+1
–:自减。对原有的数据进行-11. 单独使用:放在操作数的前面和后面效果一样。 2. 参与运算使用: 放在操作数的前面,先自增或者自减,然后再参与运算。 放在操作数的后面,先参与运算,再自增或者自减。
-
关系运算符:== ,!= , < , > , <= , >= , instanceof(后面讲解)
-
赋值运算符:=, +=,-=,*=,/=,%=
int sum=3; sum+=sum;//会自动帮你强制类型转换,他会判断累加完的结果,在不在这个数据类型的范围内,如果不在会自动帮你强制类型转换
-
:逻辑运算符:&(并且) , |(或者) , !(非) , ^(异或) , &&(短路与) , ||(短路或)
1. & 两端都需要运算 , && 只要左端为false 右端不需要运算,只有左端为true 右端会去运算 2. | 两端都需要运算,|| 只要左端为true 右端就不需要运算,只有左端为false 右端还是要运算的
-
位运算符:&(与),|(或),^(异或) , ~(按位取反) , <<(左移) ,>>(右移) ,>>>(无符号右移)
注意:位运算是直接对二进制补码进行运算。^(异或)/ 特点: 一个数被另外一个数位异或两次该数不变
System.out.println(2^4^4);//2 System.out.println(2^4^2);//4
-
<< :把<<左边的数据乘以2的移动次幂 例如 10<<3 结果 10*2^3=80
**> **: 把>>左边的数据除以2的移动次幂 例如 40>>3 结果 40/2^3=5
-
利用中间值
int a=10; int b=20; int t=0; t=a;//t=10 a=b;//a=20 b=t;//b=10
-
利用异或
int a=10; int b=20; a=a^b; //a=10^20 b=a^b; //b=10^20^20 a=a^b; //a=10^20^(10^20^20)
-
int a=10; int b=20; a=a+b;//a=10+20 b=a-b;//b=(10+20)-20 a=a-b;//a=(10+20)-((10+20)-20)
-
int a=10; 心态b20; a=(a+b)-(b=a);
-
三元(三目)运算符**:
格式:(关系表达式) ? 表达式1 : 表达式2;
表达式的值的true返回结果1,是false返回结果2
四种交换数值的方法
- java语言基础(11)——字符数据与字符串数据参与运算
- Java语言基础{Java_se(02)}-字面量和常量-变量的基本定义和使用-Java表达式-数据类型和分类-基本数据类型的转换-算数运算符-赋值运算符-比较运算符-三元运算符-逻辑运算符
- Java语言基础字符和字符串参与运算
- 第二章 Java语言基础2 (关键字、运算符、进制、变量类型)
- Java语言基础(关键字、标识符、注释、常量与变量、进制、数据类型、类型转换、代码示例)
- Java基础__(环境变量配置,关键字,标识符,进制,数据类型,运算符)
- 黑马程序员——Java语言基础——关键字、表示符、常量、变量及数据的类型、运算符
- Java学习笔记day02(进制、常量、变量、数据类型、运算符)
- 黑马程序员—Java语言基础(关键字、标识符、注释、常量与变量、进制、数据类型、类型转换、代码示例)
- JAVA学习(三):Java基础语法(变量、常量、数据类型、运算符与数据类型转换)
- Java语言基础--基本数据类型与运算符
- 黑马程序员--------------java基础语法(—)------常量,变量,数据类型和运算符
- [Java入门笔记] Java语言基础(二):常量、变量与数据类型
- Java基础学习笔记(一)环境变量配置,数据类型,运算符,控制语句,循环语句
- java===java基础学习(1)---数据类型,运算,变量,常量
- 黑马程序员_Java基础_02常量、变量、数据类型、运算符、语句、程序执行过程
- JAVA学习(三):Java基础语法(变量、常量、数据类型、运算符与数据类型转换)
- 黑马程序员之 ---- 基础语法上(关键字、标识符、进制、变量、数据类型、运算符、语句)
- [Java入门笔记] Java语言基础(二):常量、变量与数据类型
- java数据类型基础,运算符,常量,变量