目录
前言
在初次接触Java这门语言的时候,说实话,好奇又紧张,好奇的是,这门语言到底有什么样的魅力令人神往,紧张的是,它到底和我所接触的其他语言有何不同。接下来,小编会带领大家,一起探索Java的魅力,本人所有的分享都是基于本人自己得理解和体会,不足之处还请多多指教~
一、你好,世界!
PS:编译工具的安装方法请各位小主跟随链接移动你们可爱的小手吧~
1、Windows:
1)、IDEA:
https://blog.csdn.net/lotusPlant/article/details/106991729
2)、Eclipse:
https://blog.csdn.net/new_delete_/article/details/82390388
2、MAC:
1)、IDEA:
https://blog.csdn.net/Riptide_Liu/article/details/108110701
2)、Eclipse
:
https://blog.csdn.net/weixin_40318474/article/details/82455833
众所周知哈,我们在开始学习一门新语言的时候,都是从这“Hello World!”开始的,now,已经准备好我们的编辑工具的小可爱们,就开始编写我们的第一个Java程序吧!
package javase;
public class Test01 {
public static void main(String[] args){
System.out.println("Hello World!");
}
}
使用eclipse的小主们,右键点击Run…或者快捷键Ctrl+Shift+F10就可运行我们的第一个Java程序了;使用IDEA的小主们,直接点击右上角的绿色三角按钮,或者使用快捷键Shift+F10即可。下面是运行结果。
Hello World!
现在我们已经成功运行了第一个Java程序,是不是感觉非常简单呢,接下来我们将进行JavaSE的学习之路 ,下面我们将介绍Java的基本数据类型。
二、Java的数据类型
Java的数据类型主要分为两部分:基本数据类型、封装器类型。
1.基本数据类型
Java的基本数据类型主要分为八种:byte、short、int、long、double、float、boolean、char。
其中,byte、short、int、long属于整型数值型;float、double属于浮点型数值型;boolean属于波尔型;char属于字符串类型。下面,就让我们一起来看一下他们之间的区别吧!
byte
byte:8位整型,最大存储数据量是255,存储数据的范围是-128~127之间。
看到这里,大家可能就疑惑了,为什么byte的范围是-128~127而不是-128~128呢?原因是对于二进制编码来讲,最高位位0,则表示正数;最高位为1,则表示负数。我们可以以8位的二进制位为例:
8位二进制最大正整数为:0111 1111 —— 127(十进制)
8位二进制最小负整数为:1000 0000 —— -128(取反后加一)
示例代码:
package javase;
public class Test02 {
public static void main(String[] args){
byte a = 127;
byte b = 1;
b = (byte) (a+b);
System.out.println("a = "+ a);
System.out.println("b = "+b);
}
}
运行结果:
a = 127
b = -128
由此可见,byte的取值范围应该是0000 0000到0111 1111 再到 1000 0000 再到 1111 1111的,这就是二进制运算的魅力!想要深入研究的小主们可以多多了解一下二进制哦!
short
short:16位整型,最大存储数据量是65535,存储数据的范围是-32768~32767之间。
示例代码:
package javase;
public class Test03 {
public static void main(String[] args){
short a = 32767;
short b = 1;
b = (short) (a+b);
System.out.println("a = "+ a);
System.out.println("b = "+b);
}
}
运行结果:
a = 32767
b = -32768
int
int:32位整型,最大存储数据量是4294967295,存储数据的范围是-2^31~2^31-1之间。
示例代码:
package javase;
public class Test04 {
public static void main(String[] args){
int a = (1<<31)-1;
int b = 1;
b = a+b;
System.out.println("a = " + a);
System.out.println("b = " + b);
}
}
运行结果:
a = 2147483647
b = -2147483648
long
long:64位整型,最大存储数据量是2^64-1,存储数据的范围是-2^32~2^32-1之间。
示例代码
package javase;
public class Test04 {
public static void main(String[] args){
long a =(1l<<63l)-1;
long b = 1L;
b = a+b;
System.out.println("a = "+ a);
System.out.println("b = "+b);
}
}
运行结果:
a = 9223372036854775807
b = -9223372036854775808
float
float:32位浮点型,存储数据的范围是3.4e-45~1.4e38,在进行数据存储时,必须在后面追加F或f。
示例代码:
package javase;
public class Test05 {
public static void main(String[] args){
float a = 1f;
float b = 2f;
System.out.println("a="+a);
System.out.println("b="+b);
}
}
运行结果:
a=1.0
b=2.0
double
double:64位浮点型,存储数据的范围是4.9e-324~1.8e308,在进行数据存储时,在后面追加D或d,也可不加。
示例代码:
package javase;
public class Test06 {
public static void main(String[] args){
double a = 1d;
double b = 2;
System.out.println("a="+a);
System.out.println("b="+b);
}
}
运行结果:
a=1.0
b=2.0
boolean
boolean:波尔型,波尔行最大的特点是他只有两个值:true、false。其中,true代表真,false代表假。
示例代码:
package javase;
public class Test07 {
public static void main(String[] args){
boolean a = true;
boolean b = false;
System.out.println("a="+a);
System.out.println("b="+b);
}
}
char
char:16位字节型,用于Unicode码,进行赋值时需要使用”。且一次只能定义一个字符。
示例代码:
package javase;
public class Test08 {
public static void main(String[] args){
char a = 'a';
char b = 'b';
System.out.println("a="+a);
System.out.println("b="+b);
}
}
a=a
b=b
2.引用数据类型
Java是
面向对象
语言,它为每一个基本数据类型都做了相应的包装类(见上一个表格),也就是实现了基本类型变量到
包装类
对象的转换。引用类型一般通过
new关键字
来创建,(对象)它存放在内存的
堆
中,可以在运行时
动态的分配内存大小
。引用变量中存放的是变量内容的地址,它存放在内存的
栈
中。当引用类型变量不被使用时,Java内部的垃圾回收器
GC会自动回收。
JAVA的引用数据类型主要分为类、接口和数组。
Class(类)
引用本身是保留在
栈
中的,而引用所指的对象是存放在
堆
中的。
public class Demo {
String Name;
int Age;
double Score;
Demo(String Name,int Age,double Score){
this.Name=Name;
this.Age=Age;
this.Score=Score;
};
public static void main(String[] args) {
Demo d1=new Demo("小明",20,98);
Demo d2=new Demo("小红",19,80);
}
}
Interface(接口)
-
编写接口的方式和类很相似,但是它们属于不同的概念。类描述对象的属性和方法。接口则包含类要实现的方法。
-
接口与类的区别:
-
接口不能用于实例化对象。
-
接口没有构造方法。
-
接口中所有的方法必须是抽象方法。
-
接口不能包含成员变量,除了 static 和 final 变量。
-
接口需要被类实现。
-
接口支持多继承。
public interface Animal {//定义Animal接口
public void eat();
public void speak();
}
public class Dog implements Animal {//Dog类实现Animal接口
public void eat() {
System.out.println("我喜欢吃骨头!");
}
public void speak() {
System.out.println("汪汪汪!");
}
public static void main(String[] args) {
Dog d=new Dog();
d.eat();
d.speak();
}
}
Array(数组)
myList变量存放了数组对象的引用,它存放到栈中,而数组对象所占的空间在堆上被分配。
public class Array {
public static void main(String[] args) {
int[] myList = new int[] {5,2,0,1,3,1,4};
for(int list: myList) {
System.out.print(list);
}
}
}
总结
以上就是今天要讲的内容,本文简单介绍了Java环境的安装,以及Java数据类型的组成情况。