Java学习日记——William的技术进阶之路

这篇博客详细记录了作者William学习Java的过程,从基础的环境安装、Hello World实现,到深入的面向对象编程(封装、继承、多态)、异常处理和泛型。文章介绍了Java SE、EE、ME的区别,JRE、JVM、JDK的关系,以及基本语法、输入输出函数。在面向对象部分,探讨了访问修饰符、构造方法、this关键字、静态关键字static、包的使用,以及继承中的super关键字、抽象类和接口。此外,还讲解了多态的概念、上下转型以及异常的处理和泛型的应用。
摘要由CSDN通过智能技术生成

一、基础篇

1.环境安装以及经典Hello World实现

1.环境安装

下载安装Eclipse,不多赘述

2.创建工程

1.左侧目录右键new->Java project

 

2.给这个project取个名字 (如:Test)

3.第一个工程创建完毕

3.创建类

1.在src下右键New一个Class

2.给class取个名字(首字母必须大写,其余必须全部小写

3.类创建完毕,得到一个class

public class Test {


}

4.Hello World!

1.创建主程序

Java里主程序长这样:

public static void main(String[] args) {
	
}

看起来很复杂,后续详细讲。

但每次都手打确实有点烦人,所以环境提供了快捷键:Alt+/ 

先打main,然后加上Alt+/,看到main后Enter,就自动生成上面那个main函数了。

 

2.输出函数

Java里输出函数长这样:

System.out.println();

看起来也是很复杂,后续详细讲。

这里快捷键同样适用

先打syso,然后加上Alt+/,看到sysout后Enter,就自动生成上面那个输出函数了。

 

3.组合起来成为第一个程序!

不同于C语言,Java所有的方法,都必须放在类中,包括main

所以我们先把main函数包在Test类中:

public class Test {
	public static void main(String[] args) {
	}
}

然后我们把sysout放入主函数中,便于执行:

public class Test {
	public static void main(String[] args) {
		System.out.println();
	}
}

由于我们需要输出“Hello World”,所以将这个字符串放入sysout函数中:

public class Test {
	public static void main(String[] args) {
		System.out.println("Hello World!");
	}
}

按下Run!在终端看到:

成功了!

2.一些基本概念

1.Java SE EE ME 的区别

Java SE ——Java Standard Edition 即最普通的Java版本

Java EE ——Java Enterprise Edition 即带有服务器端API的相对高级Java版本

Java ME ——Java Micro Edition 即微型(嵌入式设备)的Java版本

2.JRE、JVM、JDK以及其相互关系

JRE——Java Runtime Environment 即Java的运行环境

JVM——Java Virtual Machine 即Java的虚拟机

JDK——Java Development Kit 即Java软件开发工具包

关系:JDK中有JRE以及Java工具,JRE中有一个JVM运行

3.Java基本语法

1.基本数据类型

数据类型定义和C语言基本类似:

int a;
float b;
double c;
boolean d;

数据类型的输出与C语言有略微区别

System.out.println("a="+a)//printf("a=%d(%s/%f)",a)

Java中不用占位符,而是用+号跟随在其他内容后面。

数据类型强制转换与C语言相同:

float f=(float)0.1

2.选择和控制语句

和C语言完全一致,不加赘述:

if(){

}else if(){

}else{

}
switch()
{
    case 1:

        break;

    case 2:

        break;

    case 3:

        break;
}
for(int i=0;i<length;i++)
{

}
while(1)
{

}

3.数组的定义和遍历

空数组的定义,与C语言不同:

int[] array= new int[3];

可以这么理解:定义一个int型的数组,名字为:array,并开辟(new)了一块大小为int[3]的地方给他用。

注:空数组内部每一项都为0。

数组赋值,与c语言一致:

int array[]={1,2,3,4,5};

数组的遍历,与C语言一致,一个细节不同:

for(int i=0;i<array.length;i++)
{
    System.out.println(attay[i]);
}

Java中数组长度用.length表示。

4.方法

Java中的方法与C语言中的函数类似:

void print()
{
    System.out.println("Hello");

}

但是如果在主函数中直接调用的话,会出现问题:

public class Test {
	void print()
	{
	    System.out.println("Hello");
	}
	public static void main(String[] args) {
		print();//会报错
	}
}

意思是:不能在static类中参考一个non-static的方法,所以只要在方法前加一个static即可:

public class Test {
	static void print()
	{
	    System.out.println("Hello");
	}
	public static void main(String[] args) {
		print();//不报错了
	}
}

成功!

5.输入函数

Java中的输入函数与C语言的scanf有很大不同,Java中的输入函数为:

	Scanner sc=new Scanner(System.in);

Scanner类经过实例化为sc后,吸收System.in(系统输入的数据,并储存于sc中)

sc中包含有很多方法,其中.nextInt()表示输入整数,.nextLine()表示输入字符串,etc.

int a;//定义整型变量a
a=sc.nextInt();//输入数据放入a中
String str;//定义字符串str
str=sc.nextLine();//输入数据放入str中

接下来测试一下输入函数:

import java.util.Scanner;
public class Input {

	public static void main(String[] args) {
		
	Scanner sc=new Scanner(System.in);
	
	int a;
	String str;
	
	System.out.print("input a=");
	a=sc.nextInt();
	
	System.out.print("input str=");
	
	str=sc.nextLine();//吸收空格
	
	str=sc.nextLine();
	
	System.out.println("a="+a);
	System.out.println("str="+str);
	
	}
}

成功!

二、面向对象

面向对象编程主要有三大特性:封装、继承、多态

1.封装

1.封装的定义与使用

定义类,定义其属性、方法的过程称为封装类。

类比于C语言中对结构体的定义:

struct Student
{
    int age;
    char* name;
    double score;

    void(*intro)();
    void(*test)();
}

Java中对类的封装过程类似:

class Student
{
	int age;
	String name;
	double score;
	
	void intro()
	{

	}
	void demoTest()
	{
		
	}
}

其中:struct->class(Java语法需要),

void(*func)()->void func () (在同一个类里变量可以随意调用,而C语言需要函数指针)

 

在构建好类以后,需要进行实例化:

Student s1=new Student();

对s1内的方法可以进行赋值:

s1.age=10;
s1.name="Jack";
s1.score=96.5;

对s1内的方法可以进行调用:

s1.intro();
s1.demoTest();

接下来测试一下:

class Student
{
	int age;
	String name;
	double score;
	
	void intro()
	{
		System.out.println("age="+age+" name="+name+" score="+score);
	}
	
	void demoTest()
	{
		System.out.println("test");
	}
}
public class Demo1 {

	public static void main(String[] args) {
		Student s1=new Student();
		s1.age=10;
		s1.name="Jack";
		s1.score=96.5;
		s1.intro();
		s1.demoTest();
	}
}

成功!

2.访问修饰符

访问修饰符有:默

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值