目录
前言
Java语言概述
Java是一种优秀的程序设计语言,它具有令人赏心悦目的语法和易于理解的语义。它的创始人就是大名鼎鼎的詹姆斯·高斯林!
Java 语言源于 1991 年 4 月,Sun 公司 James Gosling博士 领导的绿色计划(Green Project) 开始启动,此计划最 初的目标是开发一种能够在各种消费性电子产品(如机顶盒、冰箱、收音机等)上运行的程序架构。这个就是Java的 前身: Oak (得名与Java创始人James Gosling办公室外的一棵橡树),但由于这些智能化家电的市场需求没有预期 的高,Sun公司放弃了该项计划。随着1995年代互联网的发展,Sun公司看见Oak在互联网上应用的前景,于是改 造了Oak,于1995年5月以Java的名称正式发布,并提出“Write once, Run anywhere" 的口号。也就是传说中的“一次编译,到处运行” 。Java语言对于C++来说,更省心,而C++则是掌控全局的感觉。
1.数据类型
话不多说直接上图
有一点需要注意的是:不管在多少位的操作系统下,这些数据类型占的内存都是固定的,Java的数据类型不会像C/C++那样需要根据系统来判断占的字节数,这也是Java的好处之一。
接下来讲解Java中与C语言不同的地方
(1)boolean类型
再来就是boolean类型不能和其他数据类型进行转换
Java中没有0是假,1是真这种说法,Java中true是真,false是假;
举个例子:当你使用while(1)这样的循环时,编译器就会报错(IDE是IntelliJ IDEA)
而当你使用true,编译器就不会报错,这也是Java的特点之一。
(2)float char
float单精度浮点型变量初始化加F或者f,这里大小写都无所谓,都一样。如果不写f就会报错,这是因为float默认是double类型的,所以不加f,系统就会默认成double类型,导致出错。
出错样例:
正确样例:
还有一点和C语言不同的是Java的char可以存储汉字。
2.类型转换
在Java中,当参与运算数据类型不一致时,就会进行类型转换。Java中类型转换主要分为两类:自动类型转换(隐式) 和 强制类型转换(显式)。
(1)自动类型转换(隐式)
自动类型转换即:代码不需要经过任何处理,在代码编译时,编译器会自动进行处理。特点:数据范围小的转为数据范围大的时会自动进行。
不同类型的数据之间相互运算时,数据类型小的会被提升到数据类型大的。但是有一个特例,byte类型1个字节,short类型2个字节,这两个类型在进行计算时,他们不是提升到short类型,而是提升到int类型;
(2)强制类型转换(显式)
强制类型转换:当进行操作时,代码需要经过一定的格式处理,不能自动完成。特点:数据范围大的到数据范围小的。但是存在隐患,会丢失精度,怎么理解这个丢失精度呢?
一个byte类型能存储的范围为-128~127,可以将这个范围看成一个圆圈,如下图:
当一个byte类型值为127的数,自加上1,就会变成-128。所以一个值为128的int类型被强制转换成byte,打印出来变成-128,这就是就丢失精度。如下代码:
public class TestDemo {
public static void main(String[] args) {
int a = 128;
byte b = 0;
b=(byte)a;
System.out.println(b);
}
}
运行结果:
(3)字符串类型拼接
字符串类型可以直接拼接,例如以下代码:
public class TestDemo {
public static void main(String[] args) {
String s1 = "hello ";
String s2 = "world!";
String s3 = s1 + s2;
System.out.println(s3);
}
}
结果:
这样的字符串拼接,大大提升了我们的编程效率,降低了编写代码的难度!
如果一个字符串拼接上其他类型的数据,结果就是一个字符串,但是如果前面的不是字符串,而是一个式子,就会先计算,例如:
public class TestDemo {
public static void main(String[] args) {
int a = 10;
int b = 20;
System.out.println("a + b = "+a+b);
System.out.println(a+b+" = a + b");
}
}
结果如下:
如果想要第一行输出能够得到30的话就得加上(),变成(a+b)。这也给我们一个启示:当我们感觉自己写的代码模棱两可的时候,要加上括号()来让代码运行变得唯一。
(4)将数据转换成字符串
很简单,只需要在初始化变量的时候加上一个 +“” 或者加上String.valueof();
使用方法:
public class TestDemo {
public static void main(String[] args) {
int a = 123;
String c = 123+"s";
String b = String.valueof(a);
System.out.println(c);
}
}
(5)将字符串转换成int
在变量前加上一个Integer.valueOf()就可以将字符串(或者其他类型)转换成int ;
public class TestDemo {
public static void main(String[] args) {
String s = "123";
int ret = Integer.valueOf(s);
System.out.println(ret);
}
}
3.运算符
(1)除法和求余
做除法和取模时,右操作数不能为0;就像我们在进行数学的分数计算时,分母不能为0,这是一个道理(数学老师反复强调,分母为0没有意义)
与C语言不同的是:Java在求余的时候左右两边可以是小数,并且可以进行计算:
(2)无符号右移>>>
此时的右移,无所谓正数还是负数,在最左边的二进制位补的都是0。这里相比较C语言,可以说是一个非常大的进步,不用考虑他是逻辑右移还是算术右移。
(3)位操作符
位操作符基本和C语言一样,可以参考作者的上一篇博客:C语言位操作符详解(有实用例题版)_c语言运算符 & ^ |-CSDN博客
4.一些建议
(1)在写类名(class)时,要采用大驼峰式,每个单词首字母大写,如:MaxDemo
(2)在写方法名时,首字母小写,后面每个单词的首字母大写(小驼峰),如:minDemo
(3)变量名:与方法名相同
(4)刚开始写Java代码时,尽量要完整写下来,熟悉了以后在编译器中就可以使用快捷键来速成代码,例如写一个
public static void main(String[] args)
可以先输入main或者psvm(首字母)然后按下回车。还有
System.out.println()
直接输入sout加回车。
5.小结
本次分享到此结束,感谢您的阅读,如果您觉得我写的还不错或者对您有帮助,请留下您宝贵的点赞,如果您发现我写的有什么错误,欢迎评论区留言!