Java数据类型
1.八大根本数据类型
类型 | 贮存需要 | 取值范畴 |
---|---|---|
byte(字节型) | 1字节 | -128~127 |
short(短整型) | 2字节 | -32,768~32,769 |
int(整型) | 4字节 | -2,147,483,648~2,147,483,647 |
long(长整型) | 8字节 | -9,223,372,036,854,775,808~9,807 |
float(单精度) | 4字节 | 大概:正负3.40282347E+38F(有效位数6~7位) |
double(双精度) | 8字节 | 大概:正负1.79769313486231570E+308(有效位数15位) |
char(字符型) | 2字节 | 0~65535 |
boolean(布尔型) | byte | true或false |
2.Java的援用数据类型
Java除了根本数据类,还有援用类型
援用数据类型是以一种非凡的形式指向对象实体的存储机制。应用时,零碎只会保留援用数据的地位信息,具体的援用数据的内容须要在该地位额定分配内存空间进行存储,例如:字符串与数组均属于援用数据类型。
援用数据类型能够使数组、接口、类等。
变量
简略的说,变量用来存储数据,在程序执行期间,存储的数据值能够依据须要进行扭转。在Java程序中,变量在应用之前必须先申明。再赋值进行应用。
标识符
标识符是用于标识某个对象(变量、类名、接口名、数组名等)名称。通过标识符能够不便地援用数据对象,特地是应用标识符作为变量名来拜访存储再变量中的数据。
Java中的标识符命名标准如下:
1.由字母、数字、下划线和"$"中的任意字符组合而成。
2.首字符必须是字母、下划线或"$"。
3.须要具备肯定的意义,而且不能时零碎关键字。
4.严格辨别大小写。
变量的申明
语法:
数据类型 变量名称; //例如: int age;//int类型年龄 double score;//double类型的分数 boolean flag;//boolean类型的状态 int num1,num2,num3;//int类型的num1,num2,num3;
变量的初始化和赋值
语法:
数据类型 变量名称 = 变量的初始值; //例如: int age = 23;//年龄为23岁 double score = 98.5;//分数为98.5分 char name = '张三';//姓名叫张三
变量应用中常见的谬误
1.变量应用前没有申明。
2.局部变量应用前未初始化。
3.反复申明变量。
4.变量名不合乎标识符的命名标准。
5.变量的值与变量的数据类型不匹配。
运算符
Java中的运算须要运算符来反对,运算符和变量形成了Java语言的根本语句类型之一:表达式语句。
Java中的运算符包含:赋值运算符、算数运算符、关系运算符、逻辑运算符和条件运算符。
1.赋值运算符
语法:
变量 = 表达式;//例如:int age = 23;//间接给变量赋值;age = age + 10;//将表达式的值赋给变量;
罕用的复合赋值运算符如下表
运算符 | 形容 | 举例 |
---|---|---|
+= | 加法运算 | a+=10;//将a自增10 |
-= | 减法运算 | a-=10;//将a自减10 |
*= | 乘法运算 | a*=10;//将a自乘以10 |
/= | 除法运算 | a/=10;//将a自除以10 |
%= | 取余运算 | a%=10;//计算a除以10后的余数 |
2.算术运算符
算术运算符符用来进行算术运算。常见的算术运算符如下表:
运算符 | 形容 | 举例 |
---|---|---|
+ | 加法运算 | a + 2; |
- | 减法运算 | a - 2; |
* | 乘法运算 | a * 2; |
/ | 除法运算 | a / 2; |
% | 取余运算 | a % 2; |
++ | 自增1运算 | a ++;++a; |
– | 自减1运算 | a–;--a; |
++和–,都是一元运算符,参加运算符的只有一个变量。而且对于自增和自减运算符来说,能够放在变量的右边,也能够放在变量的左边,而二种状况下的运算成果是不一样的。
留神:
int a = 10;int b = a++;//先是将a的值赋给b,而后将a自增1;//运算后果为:b=10;a=11;int b = ++a;//先将a自增1,而后将a自增后的后果赋给b;//运算后果为:b=11,a=11;
3.关系运算符
关系运算符用于比拟运算符二边操作的大小关系,其后果类型为boolean,通常用于判断条件是否成立,罕用的关系运算符如下表:
运算符 | 形容 | 举例 |
---|---|---|
== | 等于 | 2 == 2 |
!= | 不等于 | 2 != 3 |
> | 大于 | 2 > 1 |
>= | 大于等于 | 5 >= 2 |
< | 小于 | 4<5 |
<= | 小于等于 | 4 <= 5 |
4.逻辑运算符
逻辑运算符用于对boolean型后果的表达式进行运算,运算后果依然是boolean类型,罕用的逻辑运算符如下表:
运算符 | 形容 | 举例 |
---|---|---|
&& | 逻辑与,判断运算符二侧的条件是否同时成立 | a && b |
二个竖杠 | 逻辑或,判断运算符二侧的条件只有有一个正确后果就为true | 2==2 二个竖杠 b<10 |
! | 逻辑非,求与运算后果相同的值 | !true |
逻辑与(&&)
只有左右二边的条件同时成立,整个逻辑表达式的值才为真,如果&&左侧的条件为假时,程序将不再计算左边的表达式。
逻辑或(||)
左右二边只有有一个条件成立,整个逻辑表达式的值为真,当左侧的条件成立时,程序将不再计算右侧的表达式。
逻辑非(!)
用于获取与运算符后果相同的值。
5.条件运算符
条件运算符属于三元运算符,通常用于判断一个条件是否成立,如果成立则执行语句1;反之,执行语句2。
代码:
条件表达式 ?语句1 : 语句2;//例如int a = 5;String b = 5>4 ? "5大于4" : "5不大于4";
6.运算符的优先级
罕用的运算符优先级如下表:
序号 | 运算符 |
---|---|
1 | 括号 |
2 | 一元运算符:如:-、++、! |
3 | 算术运算符:如:*、/、%、+、- |
4 | 关系运算符:如:>、>=、<、<=、==、!= |
5 | 逻辑运算符如:&&、二个竖杠 |
6 | 条件运算符和赋值运算符,如:?:、=、*=、/=、+=、-= |
数据类型之间的转换
数据类型转换图如下:
因为数据类型之间存在差别,在赋值时须要进行数据类型的转换。再Java语言中,将源数据类型转换为指标数据类型的形式分为主动类型转换和强制类型转换二种。
1.主动类型转换
主动类型转换是数据类型的取值范畴由小向大进行转换,且转换的二转数据类型须要齐全兼容。当二种数据类型彼此不兼容或指标类型的取值范畴小于源数据时,主动转换将无奈进行。
2.强制转换
语法:
指标类型变量 = (指标类型) 值;//举例//主动转换int a = 2;float b = 3.2f;long c = 4L;double d = 12.23;d = a + b + c;//后果 :d = 9.199999809265137//强制类型转换int w = (int)d;//后果 :w = 9
控制台输出
System.out.println()和System.out.print()控制台输入语句。Java中的控制台输出是通过Scanner类来实现的。Scanner类的罕用办法如下表
办法名 | 阐明 |
---|---|
next() | 当用户在控制台输出字符串时,用此办法接管 |
nextInt() | 当用户在控制台输出整数时,用此办法接管 |
nextFloat() | 当用户在控制台输出float类型的数字时,用此办法接管 |
nextDouble() | 当用户在控制台输出double类型的数字时,用此办法接管 |
例如:
import java.util.Scanner;public class Demo_one { public static void main(String[] args) { //创立Scanner对象sc Scanner sc = new Scanner(System.in); System.out.println("请输出学生姓名"); String name = sc.next(); System.out.println("请输出学生年龄"); int age = sc.nextInt(); }}
总结
1.==和equals办法有什么区别?
双等于操作符专门用来比拟两个变量的值是否相等,也就是用于比拟变量所对应的内存中所存储的数值是否雷同,要比拟两个根本类型的数据或两个援用变量是否相等,只能用==操作符。
equals办法是用于比拟两个独立对象的内容是否雷同。
例如,对于上面的代码:
String a=new String(“foo”);
String b=new String(“foo”);
两条new语句创立了两个对象,而后用a,b这两个变量别离指向了其中一个对象,这是两个不同的对象,它们的首地址是不同的,即a和b中存储的数值是不雷同的,所以,表达式a==b将返回false,而这两个对象中的内容是雷同的,所以,表达式a.equals(b)将返回true。
2.&和&&的区别?
&和&&都能够用作逻辑与的运算符,示意逻辑与(and),当运算符两边的表达式的后果都为true时,整个运算后果才为true,否则,只有有一方为false,则后果为false。
&&还具备短路的性能,即如果第一个表达式为false,则不再计算第二个表达式。
&还能够用作位运算符,当&操作符两边的表达式不是boolean类型时,&示意按位与操作。
----------------------------本文章转载自CSDN:与黑夜为伍------------------------------