day2 java中的变量与数据类型及类型转换
2018-06-18 02:31:49来源:未知 阅读 ()
标识符:凡是可以自己命名的地方都叫标识符,如:类名、方法名、接口名。。。
1.标识符命名的规则:
由26个英文字母大小写,0-9,_或$组成,不遵守会报错。
不可以用数字开头。
不能使用关键字和保留字。
java中严格区分大小写,长度无限制。
标识符不能包含空格。
2.java中命名规范
包名:多单词组成所有的字母都小写:xxxyyyzz
类名、接口名:多单词组成时首单词小写,后面每个单词首字母大写:xxxYyyZzz
常量名:所有字母都大写,多单词每个单词用下划线连接:XXX_YYY_ZZ
最好是见名知意,不要总是用a,b,c。
3.变量
java的变量名开辟的内存空间,此空间必须有自己的名字和类型,例int a=1.开辟一个空间,名称为a,类型为整型。变量的作用域在一对{}之间有效。而且肯定有一个初始化值。
public class variable{ public static void main(String[] args){ int myInt = 233; double myDouble = 3.14; System.out.println(myInt); System.out.println(myInt + myDouble); } }
我们在这里定义的两个变量仅在此花括号中有效,即作用域在此花括号中。
java中8种基础数据类型
整型:byte,short,int,long。默认为int类型。
浮点型:float,double(默认为双精度)。
字符型:char只能表示一个字符(英文,中文,标点符号,'\t',‘\u1234’等):char a = 'ab'这样会报错,包含了两个字符。需要包含多个字符需要定义字符串str = "ab"。
布尔类型:boolean,只能取true或false,不能取null,也不能取0,1。
class java_type{ public static void main(String[] args){ //byte类型,整型默认值都为0 byte myByte = 100; System.out.println(myByte); //short类型 short myShort = 233; System.out.println(myShort); //int类型 int myInt = 23333; System.out.println(myInt); //long类型,默认值0L long myLong = 12345678910111213L; System.out.println(myLong); //float类型,默认值是 0.0f float myFloat = 234.5f; System.out.println(myFloat); //double类型,默认值是 0.0d double myDouble = 3.14; System.out.println(myDouble); //boolean类型,默认值是 false boolean myBoolean = true; System.out.println(myBoolean); //char类型 char myChar= 'J'; System.out.println(myChar); } }
自动类型转换
低 ------------------------------------> 高 byte,short,char—> int —> long—> float —> double
不能对boolean类型进行类型转换;转换过程中可能导致溢出或损失精度。
容量小的数据类型与容量大的数据类型做运算时,容量小的会自动转换为容量大的数据类型。例如int与short相加,结果提升为int类型,两个short类型数据相加结果也会提升到int类型。char类型与整型相加时默认将char转为整形(例如'a'转化为对应ascii码的值97)。
强制类型转换
容量大转换为容量小的,要使用强制类型转换符(),会导致精度损失。
比如将int类型12345转换为byte类型:
int 12345转换为二进制为110000 00111001,byte类型为8位二进制数,会截断110000 00111001取00111001的值,00111001转化为10进制结果为57。
class exchange{ public static void main(String[] args){ int myInt = 12345; byte myByte = (byte)myInt; System.out.println(myByte); char c1='a';//定义一个char类型 int i1 = c1;//char自动类型转换为int System.out.println("char自动类型转换为int后的值等于"+i1); char c2 = 'A';//定义一个char类型 int i2 = c2+1;//char 类型和 int 类型计算 System.out.println("char类型和int计算后的值等于"+i2); } }
运行结果为:
root@debian:/home/jeff/java_coding/day002# java exchange 57 char自动类型转换为int后的值等于97 char类型和int计算后的值等于66
对于String与基本数据类型之间的运算
首先只可以使用连接运算:+。得到结果仍为一个字符串。
String str = "abc"; String str1 = str + myInt; System.out.println(str1);
结果为:abc12345。
算数
class suanshu{ public static void main(String[] args){ int i1 = 12 % 5; int i2 = -12 % 5; int i3 = 12 % (-5); int i4 = -12 % (-5); System.out.println(i1);2 System.out.println(i2);-2 System.out.println(i3);2 System.out.println(i4);-2 } }
可以的出结论,取模的结果与被取模数的符号有关。
class suanshu{ public static void main(String[] args){ //++ //a++,先计算再+1 int int1 = 10; int int2 = int1++; System.out.println(int1);11 System.out.println(int2);10 //++a,先+1。再赋值 int int3 = 10; int int4 = ++int3; System.out.println(int3);11 System.out.println(int4);11 } }
其他算数后面用到再解释,与我们一般使用并没有什么分别。
java中的字符类型与字符串类型的差别(单双引号问题)。
在java中单引号中的是字符类型,即char,而双引号中则为字符串类型,即string。
class charString{ public static void main(String[] args){ System.out.println('*' + '\t' + '*'); System.out.println("*" + "\t" + "*"); } }
单引号相加时为char类型相加,结果会提升为int类型,即将对应的ascii码转化为对应的数值再相加,结果是一个int类型的数值。而双引号相加的结果是字符串的相加,所以结果是一个字符串类型。
输出结果:
root@debian:/home/jeff/java_coding/day002# java charString
93
* *
本节代码托管到我的github:day002。
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- 国外程序员整理的Java资源大全(全部是干货) 2020-06-12
- 2020年深圳中国平安各部门Java中级面试真题合集(附答案) 2020-06-11
- 2020年java就业前景 2020-06-11
- 04.Java基础语法 2020-06-11
- Java--反射(框架设计的灵魂)案例 2020-06-11
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash