目录
前言
开始学习Java的基础部分,由于部分的基础知识在C中已经学过,所以不在拘泥于基本的知识点,而是在之前的基础上进行讲解和学习,主要体现在面向对象(OOP)上。.
一、Java的基础介绍
1. JavaSE、JavaEE、JavaME
Java分为三个体系:
- JavaSE(J2SE)(Java2 Platform Standard Edition,java平台标准版)
- JavaEE(J2EE)(Java 2 Platform,Enterprise Edition,java平台企业版)
- JavaME(J2ME)(Java 2 Platform Micro Edition,java平台微型版)。
目前首先学习JavaSE部分,我使用用的IDE为JetBrains的IDEA,Java开发环境的配置就不再介绍,网络上教程有很多。
2. JVM、JRE、JDK
JVM :英文名称(Java Virtual Machine),就是我们耳熟能详的 Java 虚拟机。它只认识 xxx.class 这种类型的文件,它能够将 class 文件中的字节码指令进行识别并调用操作系统向上的 API 完成动作。所以说,jvm 是 Java 能够跨平台的核心。
JRE :英文名称(Java Runtime Environment),我们叫它:Java 运行时环境。它主要包含两个部分,jvm 的标准实现和 Java 的一些基本类库。它相对于 jvm 来说,多出来的是一部分的 Java 类库。
JDK :英文名称(Java Development Kit),Java 开发工具包。jdk 是整个 Java 开发的核心,它集成了 jre 和一些好用的小工具。例如:javac.exe,java.exe,jar.exe 等。
显然,这三者的关系是:一层层的嵌套关系。JDK>JRE>JVM。
二、基本数据类型
1. 基本介绍
Java中有8大基本数据类型,分别是byte、short、int、long、float、double、char、boolean种。其中四个整数型,两个浮点型,一个字符型,一个布尔型。
类型默认值如下
数据类型 默认值 byte 0 short 0 int 0 long 0L float 0.0f double 0.0d char 'u0000' String (or any object) null boolean false
2. 类型转换
2.1 自动类型转换
整型、实型(常量)、字符型数据可以混合运算。运算中,不同类型的数据先转化为同一类型,然后进行运算。
转换从低级到高级。
低 ------------------------------------> 高 byte,short,char—> int —> long—> float —> double
1. 不能对boolean类型进行类型转换。
2. 不能把对象类型转换成不相关类的对象。
3. 在把容量大的类型转换为容量小的类型时必须使用强制类型转换。
4. 转换过程中可能导致溢出或损失精度。
2.2 强制类型转换
1. 条件是转换的数据类型必须是兼容的。
2. 格式:(type)value 其中的type是要强制类型转换后的数据类型
2.3 字符串的转入转出
请看下面的例子。
public class demo {
public static void main(String[] args) {
//使用Type.parseType("String")将字符串类型转换成为其他类型
byte b=Byte.parseByte("1");
short s=Short.parseShort("1");
int i= Integer.parseInt("1");
long l=Long.parseLong("1");
float f=Float.parseFloat("1");
double d=Double.parseDouble("1");
boolean bl=Boolean.parseBoolean("1");
//使用String。valueof(type)将其他的类型转换成为字符串类型
String str1=String.valueOf(1);
String str2=String.valueOf(1L);
String str3=String.valueOf(1.);
String str4=String.valueOf(1.F);
int i1=Integer.parseInt("10",2 );
System.out.println(i1);
}
}
三、使用实例
将会从以下几个简单的例子来学习Java的基本使用。
1.helloworld
public class HelloWorld {
public static void main(String[] args) {
System.out.println("HelloWorld");
}
}
2.输出1000到2000之间的闰年
public class demo01 {
public static void main(String[] args) {
for(int n=1000;n<=2000;n++)
if(n%100==0){
if(n%400==0){
System.out.println(n);
}else{
;
}
}
else if(n%4==0){
System.out.println(n);
}else{
;
}
}
}
3.猜数字游戏
import java.util.Random;
import java.util.Scanner;
public class inputOutputMethod {
public static void main(String[] args) {
//System.out.println(method00.func(5));
Random random = new Random(200421088);
int toGuss=random.nextInt(100)+1;
System.out.println("请输入一个数字");
Scanner scanner = new Scanner(System.in);
while (true) {
int i=scanner.nextInt();
if(i>toGuss){
System.out.println("大了");
}
else if(i<toGuss){
System.out.println("小了");
}
else{
System.out.println("恭喜你猜对了");
break;
}
}
}
}
4.斐波那契数列
public class fib {
public static long fun1(long a){
if(a==1||a==2){
return 1;
}else return fun1(a-1)+fun1(a-2);
}
public static long fun2(long n){
if(n==1||n==2){
return 1;
}else{
long last1=1;
long last2=1;
long cur=0;
for(int i=3;i<=n;i++){
cur=last2+last1;
last2=last1;
last1=cur;
}
return cur;
}
}
public static void main(String[] args) {
System.out.println(fun1(8));
System.out.println(fun2(8));
}
}
总结
主要介绍了Java的使用,由于之前的基础,并没有介绍一些细小的点,主要还是需要在实际的使用中去学习和体会。