Java数据类型与运算符
一、在cmd中输出源文件
首先修改路径,执行命令为:cd空格+路径,回车;
然后转换文件,执行命令为:javac空格+文件名并且带上后缀.java,回车;
最后执行文件,执行命令为:java空格+文件名+空格+空格…,回车。
用javac语句将源文件编译成目标文件(*.class),让JVM识别之后,启用java 语句执行语句。
二、数据类型
8大基本类型
数值型分为整型和浮点型
整型:
1、字节类型变量——“byte”一个字节,数值范围是-128到127;
2、短整型变量——“short”两个字节;
3、整形——“int”四个字节,数值范围-21亿到21亿左右;
4、长整型——“long”八个字节,范围非常大-2^63 -> 2^63-1 ,赋值后跟一个L,大小写都行。
注意:1<2<3<4;整形/整形=整形;默认值为0。
浮点型:
1.单精度浮点型——“float”,四个字节,一般默认读小数点后六位之内,一般用double代替。
2.双精度浮点型——“double” 八个字节,常用。
浮点型默认值为0.0。
字符型“char”
一个字符两个字节,可以表示汉语。
例如:char ch =‘宋’;
计算机中字符是整数,java中使用Unicode表示字符,默认值为占位符。
布尔型
语法格式:boolean 变量名 = ture; boolean 变量名 = false;
boolean类型只有以上两种;不能强转;默认false。
应用数据类型:数组,类和接口
例如字符串类型变量“String”——引用类 默认值为null
String 变量名 = " 初始值 ";
在JAVA中任意数据类型都可+字符串,进行拼接输出。
三、转义字符
转义字符 | 解释 |
---|---|
\n | 换行 |
\t | 类似占位符 |
\' | 单引号 |
\" | 双引号 |
\\ | 反斜杠 |
四、变量域:
用括号括起来的部分就是域的范围,比如main的{}中才可以输出语句。
五、命名规则
变量名首位不能是数字,可以是_或者字母;
大小写不同,变量名也不同;
不适用关键字命名;
不推荐使用中文和$;
最好要见名知道意思,不要整拼音,推荐英语名词,小驼峰命名,
注意:使用final 后变量不再能修改;引用类采用“大驼峰命名法”,如String,首字母大写;
六、不同数据类型的转换
1、小类型转大类型是自动提升的
小类型的变量值赋给大类型时:
long a = 20;
小类型和大类型进行数学运算时,首先会将下类型提升为大类型,而后进行数学运算:
int a = 1;
long b = a + 1L;
int + long => long + long
2、大类型转换为小类型需要强制类型转换
缺失精度:数值的大范围赋值给小范围,比如long赋值给int
byte x =55; byte y=88; int a =60;
byte d =(byte)a; //需要强转
注意
不相干的类型不能赋值,就是不能转换:比如int a =true;
此代码会报错。
赋值范围:注意byte的范围是-128到+127,超过这个区间会出错。
byte x =55;
byte y=88;
byte z =x+y; //编译出错
//因为x+y操作时会自动提升为int类型然后计算,55+88=143>127,超范围了,需要强转byte z=(byte)x+y。
由于计算机的CPU是按照4个字节为单位从内存中读写数据,为了硬件是实现方便,诸如byte和short char类型的小于4字节类型,会先提升再运算。
int转换为String:
int n =1;
方法一:String str1 =(“一些字无所谓” + n);
方法二:String str2 = String.valueof(n);
String 转为int:
String str =“555”;
int n =Integer.parsent(str);
注意str必须纯数字,因为Int是整数。
七、运算符、
常用运算符
算数运算 | + - * / % ++ – |
---|---|
关系运算 | > < == >= <= != |
逻辑运算 | ! && |
位运算 | << >> ^ |
赋值运算 | = <= 等等 |
条件运算 | (? 😃 |
注意
0不能作为分母;
精度缺失时候要用double或者float;
%取余数可以对整数和小数取,如果是整型,153/10=15.3 ;再对15.3%10==5;
自增减运算:
i++:先赋值再加1;
–i:先减一再赋值;
boolean运算符:
&&:有假则假;
|| : 有真则真;
!: 非
运算优先级:括号>单目(要求一个对象)>算术>关系>逻辑>条件>赋值;
注意短路求值,或者叫左路求值,从左到右看,有假则假,有真则真
位运算:
在整型int short byte long 中先把数值换成0或1,之后
&:上下有0出0,这就是有假则假
| :上下有1出1,有真则真。
注意与有区别,表示上下不管是0还是1只要相同就0,不同就是1。
在boolean运算中表示逻辑运算。
~:位取反,即为0与1互换。
^:如果两个数字的二进制位数相同,结果为0,否则为1;
<<:最左侧不要,右侧补0;
>>:最右侧不要,正数左侧补0,负数左侧补1;
>>>:右移一位,左侧补0;
在二进制中:
左移 1 位 , 相当于原数字 * 2. 左移 N位,等于原数字 * 2 的 N 次方
右移 1 位, 相当于原数字 /2. 右移 N位,等于原数字 /2 的N次方
条件运算:
表达式1 ? 表达式2 : 表达式3
^:如果两个数字的二进制位数相同,结果为0,否则为1;
<<:最左侧不要,右侧补0;
>>:最右侧不要,正数左侧补0,负数左侧补1;
>>>:右移一位,左侧补0;
在二进制中:
左移 1 位 , 相当于原数字 * 2. 左移 N位,等于原数字 * 2 的 N 次方
右移 1 位, 相当于原数字 /2. 右移 N位,等于原数字 /2 的N次方
条件运算:
表达式1 ? 表达式2 : 表达式3
判断表达式1真假,真则输出表达式2,假则输出表达式3;