简介
小编结合学习Java多年的经验和之前开发的项目心得,将从Java初学者的角度带领读者循序渐进地学习Java,从入门的基础知识讲解(亲身带大家敲出代码一步一步实践去验证,附截图)到类与对象、继承与多态、接口和内部类、字符串处理、线程与JDBC、数据库访问、集合框架,到JavaWeb(Spring boot)开发,最后穿插运用Java实战建立专属码农的通信实践
至于为什么写这些东西,原因有很多,于我个人而言这一年是自身的沉默期、希望沉淀沉淀自己的同时获取新的收获;其次就是过去两年中担任了两届的军训教官,学弟学妹们也到了学习Java的时候了,也是给大家做好榜样作用,也希望能够尽个人所能帮助更多的同学们等等,正是出于这样那样的初心,讲解的课程全都是免费开放的,如有讲错的地方欢迎读者指正!
继续第1节内容,我们现在开始讲Java数据类型、类型转换、输入输出以及常用句型
一、Java基础数据类型
1、基本数据类型也称作简单数据类型。
Java语言有8种简单数据类型,分别是:
boolean、byte 、short、int、long、float、double、char
以上8种一般分为
逻辑类型:boolean
字符类型:char
整数类型:byte、short、int、long
浮点类型:float、double
2、逻辑类型(布尔类型)
3、字符类型
4、整数类型
1)int型
2)byte型
3)short型
4)long型
5、浮点类型:
分为float和double两种类型
取值范围:10^-308~10^308
6、穿插一个小实验
在main中输入如下代码:
char chinaWord = '你' , japanWord = 'ぁ' ;
int p1 = 36328 , p2 = 38358 ;
System.out.println("汉字\'你\'在unicode表中的顺序位置:" +(int)chinaWord);
System.out.println("日语\'ぁ\'在unicode表中的顺序位置:" +(int)japanWord);
System.out.println("unicode表中第" +p1+"位置上的字符是:" +(char)p1);
System.out.println("unicode表中第" +p2+"位置上的字符是:" +(char)p2);
如图所示
运行后的输出为:
上面的代码实验中,可以看到
"汉字\'你\'在unicode表中的顺序位置:" +(int)chinaWord
"unicode表中第" +p1+"位置上的字符是:" +(char)p1
即对原本是char类型的chinaWord使用int对其进行输出,得到其在Unicode中的位置
同样地,对原本是int的转换后输出了字符char类型
这里就涉及到了数据类型的基本转换:
二、类型转换
概念:把一种基本数据类型变量的值赋给另一种基本类型变量时,就涉及到数据类型转换。
为什么是这样的顺序?
原因是确保转换后数据不会因为溢出而发生数据丢失(以前美国的航天飞机发生爆炸就是因为这个),范围小的(精度低)转为范围大的,就能全额吸收,毕竟小的能被大的包住嘛~
1、隐式转换
1)float x=100;
如果输出x的值,结果将是100.0
2)int x=50;
float y;
y=x;
如果输出y的值,结果将是50.0
2、显式转换
(类型名)要转换的值
int x=(int)23.89;
long y=(long)34.98F;
输出x,y的值将是23和34
3、转换溢出
byte a = (byte) 128;
byte b = (byte) (-129);
那么a和b得到的值分别是-128和127
至于溢出的结果如何解释,这个属于计算机编译原理的知识了,就是补码和机器代码的表示;现在搞不懂也没关系,等学了编译原理就理解了,而且这个对于我们来说影响不大
4、穿插一个小实验
在main中输入以下代码:
int c=2200;
long d=8000;
float f;
double g=123456789.123456789;
c=(int)d;
f=(float)g; //导致精度的损失.
System.out.print("c= "+c);
System.out.println(" d= "+d);
System.out.println("f= "+f);
System.out.println("g= "+g);
如图所示:
运行后的输出为:
三、数据类型的基本包装类
1、自带封装的类
例如代码:
Integer a=new Integer(1100);
Integer b=2200; //自动装箱
int c=a.intValue();
int d=a; //自动拆箱
int e=Integer.parseInt("2200");
System.out.println("a= "+a);
System.out.println("b= "+b);
System.out.println("c= "+c);
System.out.println("d= "+d);
System.out.println("e= "+e);
如图:
运行结果是:
2、Java默认变量的值
3、Java数值的默认类型
四、输入输出
前几次的代码都是不用敲键盘就出结果了,看似很没意思,于是乎输入要来了
1、输入基本类型数据
Scanner类的对象可以读取用户从键盘输入的各种基本类型的数据。
在java.util包中,使用时需import
通过Scanner对象调用下列方法,读取用户输入的基本类型的数据:
2、输出基本类型数据
System.out.println() 输出数据后换行(这个用得多)
System.out.print() 输出数据后不换行
System.out.printf(“格式控制部分”,表达式1,表达式2….) 格式化输出,有%d、%c、%f 、%s、%md 、%m.nf等格式符:(这个比较难,需要多练习)
3、穿插个小实验
以上内容看着比较抽象,直接上代码:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
System.out.println("请输入若干个数,每输入一个数回车确认");
System.out.println("最后输入数字0结束输入操作");
Scanner reader=new Scanner(System.in);
double sum=0;
double x = reader.nextDouble();
while(x!=0){
sum=sum+x;
x=reader.nextDouble();
}
System.out.println("sum="+sum);
}
}
如图:
运行后,在控制台接着输入:1(回车) 2(回车) 3(回车) 0(回车) 得到
先是使用System.out.println()输出两句中文
然后使用reader.nextDouble()读入我们敲的数字
再用while循环做累加(跟C语言一样的原理哈)
4、小练习
设计一个类Computer,一个名为getTotal (int n)的方法,计算1~n的累加和并输出。
1+2+3+……+n
思路:跟People的类一样
详细代码:
public class Computer {
int n;
int sum;
void getTotal (int n){
for(int i=0;i<=n;i++){
sum+=i;
}
System.out.println(sum);
}
}
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Computer leijia;
leijia = new Computer();
System.out.println("请输入一个数字n:");
Scanner reader=new Scanner(System.in);
leijia.n = reader.nextInt();
leijia.getTotal(leijia.n);
}
}
运行后:
搞定!!!
结束语:
以上是Java入门的第2步,希望大家喜欢
下一节开始讲常用句型,还会涉及一些算法
喜欢的可以点赞+关注哈