码迷,mamicode.com
首页 > 其他好文 > 详细

二、基本语法

时间:2018-01-06 21:00:17      阅读:179      评论:0      收藏:0      [点我收藏+]

标签:自动类型转换   处理   逻辑运算符   引用数据类型   容量   存储   转换问题   字符串转换   []   

一、关键字和标识符

技术分享图片

技术分享图片

技术分享图片

技术分享图片

技术分享图片

 

 二、变量

 1.java中变量按照数据类型来分类:基本数据类型 和 引用数据类型

>基本数据类型:

整形:byte(8bit) short int(默认类型) long

浮点型:float double(默认类型) 

字符型:char(‘ ‘)

布尔类型:boolean (只能取值true或false,不能取null)

补充:按照变量在类中的位置不同:成员变量 VS局部变量

2.进制

十进制 二进制 八进制 十六进制

二进制:计算机底层都是用二进制来存储和计算。

>四种进制转换。

3.变量运算:

a.自动类型转换:容量小的数据类型自动转换为容量大的数据类型。

short s = 12;

int i = s+2;

注意:byte short char 之间做运算,结果为int类型

b.强制类型转换:使用(数据类型)实现强转。

doubel d =10.5;

int i=(int)d+2;

 

 

三、运算符

运算符是一种特殊的符号,用以表示数据的运算、赋值和比较等。 算术运算符 赋值运算符 比较运算符(关系运算符) 逻辑运算符 位运算符 三元运算符

 

1.算术运算符:

技术分享图片

注意:

如果对负数取模,可以把模数负号忽略不记,如:5%-2=1。 但被模数是负数则不可忽略。此外,取模运算的结果不一定总是整数。

对于除号“/”,它的整数除和小数除是有区别的:整数之间做除法时,只保留整数部分而舍弃小数部分。 例如:int x=3510;x=x/1000*1000; x的结果是?3000

“+”除字符串相加功能外,还能把非字符串转换成字符串.例如:

System.out.println("5+5="+5+5); //打印结果是?5+5=55

System.out.println("5+5="+(5+5));//打印结果是?5+5=10

以下二者的区别:

System.out.println(‘*‘ + ‘\t‘ +‘*‘);93

System.out.println("*" + ‘\t‘ +‘*‘);*     *

2.赋值运算符:

符号:= 当“=”两侧数据类型不一致时,可以使用自动类型转换或使用强制类型转换原则进行处理。

支持连续赋值。 扩展赋值运算符: +=, -=, *=, /=, %=

思考1: short s = 3;

s=s+2; ①

s+=2; ②

①和②有什么区别?

a+=b  --> a=(a.Type)a+b;//返回的是a类型
a=a+b --> a=a+b;//返回类型是a类型与b类型中的最高类型.

1、对于同样类型的a,b来说

两个式子执行的结果确实没有什么区别。但是从编译的角度看吧,a+=b;执行的时候效率高。

2、对于不同类型的a,b来说

    2.1    不同类型的两个变量在进行运算的时候,我们经常说到的是类型的转换问题。这里,记住两点:

一、运算过程中,低精度的类型向高精度类型转换。

二、如果将高精度的数值赋值给低精度类型变量,则必须要进行显性的强制转换。

     2.2    对于a+=b;这个式子,要明确的一点是,+=运算中,结合了强制类型转换的功能,因此,不会出现编译错误;而对于a=a+b;这个式子,因为是简单的运算,没有类型转换,在编译过程中会报错,代码如下:

public class Test{  
public Test(){  
int a = 5;  
char b = 3;  
  
b+=a;//编译通过  
b=a+b;//编译出错  
  
}  
public static void main(String[] args){  
Test t = new Test();  
}  
}  

要想改正上面的错误,只要像这样写:

public class Test{  
public Test(){  
int a = 5;  
char b = 3;  
  
b+=a;  
b=(char)(a+b);//编译通过  
  
}  
public static void main(String[] args){  
Test t = new Test();  
}  
}  

 

因此,总的来说,a=a+b;和a+=b;并不是任何时候都等价,也要分情况的。

 

3.比较运算符(关系运算符)

技术分享图片

 

比较运算符的结果都是boolean型,也就是要么是true,要么是false。 比较运算符“==”不能误写成“=” 。

 

4.逻辑运算符

技术分享图片

技术分享图片

 

 

5.位运算符

技术分享图片

 

6.三元运算符

技术分享图片

 

二、基本语法

标签:自动类型转换   处理   逻辑运算符   引用数据类型   容量   存储   转换问题   字符串转换   []   

原文地址:https://www.cnblogs.com/wenlin66/p/8215059.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!