java开始 day1

为了毕设,我可以的,前后结合呜呜
为了工作,没事的,摆烂那么久了,不奋斗真完蛋了
还是咱们Bi站免费黑马的课

java介绍

面向对象(根据模板创建对象),类似c++,带封号,跨平台(所有系统),多线程(同时服务多个)
jdk jre,这两都是java的运行工具加运行环境加各种包,了解则可,jdk更大,包含jre
下载jdk,网址oracle.com,协议我就不写了,它下好就能开始敲java了
下载好直接去建立一个记事本打开在里面敲就行,把后缀改成.java,在里面基础敲helloworld,就一个类和里面一个主函数。
在这里插入图片描述

完了之后win +r打开输入cmd直接进入开始进入到你的建立的记事本文件下,然后javac 文件名就能编译,生成字节码.class的文件,然后再java文件名,就可以在cmd里面运行了。javac这个是在bin包里面的东西,这个包是很多java库写好的工具,javac就是个编译工具,这些所有东西都是在jdk里面,所有下载一个jdk什么都有了。

java不能直接编译运行成进制,会生成字节码文件,这个字节码文件必须在对应环境的jvm里面才能运行,也就是敲代码的地方是叫jvm。jvm就是字节码文件的运行环境,也叫虚拟机。jvm有不同版本的各种,注意下载的系统。现在主流就是IDEA、Eclipse ,基本上还是idea。jvm也是在jdk里面的,也就是说关系如下
jdk{ jre( JVM 和 Java 核心类库)+javac、调试器编译工具 }

欧克我们去下载idea,要钱呜呜先用eclipse,反正语法都差不多呜呜

环境变量配置的概念,为啥要去配呢,因为配一个之后咱们在哪都能用,就把你下载的比如java的jdk的路径找到找到bin文件夹,这里面超多java库,要用直接就配到环境变量里面,全局都可使用。具体可以看黑马网课添加链接描述
好的他用的是notepad++,我就用ec了
java的版本更新非常快,单数是长期支持,lts,偶数一般短期
在这里插入图片描述
三个版本,se标准版,比较简单,简单应用,me是小型版本,ee是企业版本,用于web的网站开发
在这里插入图片描述
ee在web开发的浏览器加服务器之间,充当服务器的作用。浏览器基本上是js,去可视化。服务器关系,访问等等这些,主要是java来干,java也可以开发系统也可以做游戏,也可以做服务器(比如12306买票几分钟很多访问量),桌面应用,嵌入式,计算(类似matlab),大数据,游戏(我的世界) 都可以做
在这里插入图片描述
在这里插入图片描述

关键字

在这里插入图片描述
关键字全部小写
在这里插入图片描述
这里的和js不一样的是js里面单引号双引号都代表字符串,在java里面只有双引号是,单引号是单独的一个是字符类型
输出是System.out.print(),如果是println就是代表是换行
这里什么类型都能打印,但是在打印null的时候必须要用字符串类型输出
在这里插入图片描述
制表符
在这里插入图片描述
前面有多少个我剩余都补齐,补成8或8的倍数
变量命名方式就和c一样是int float double long 等等没差
在这里插入图片描述
int a =10;
int b =20;
System.out.println(a+b);
a=30;
System.out.println(a+b);
修改变量也是直接改就行
在这里插入图片描述
分割线直接这么打就行,一样,可以同时一次声明多个变量但是不能重复声明,可以直接修改,但是System.out.println一次只能输出一个。

回忆练习(突然想起来我以前学过一些)
我直接回忆了一下结构体的东西,去分析一个关系,我做了一个关于酒店的,有酒店,有客户,有服务,服务是再酒店之中的,酒店和客户不止一个

我去写了4个类
酒店类有房型,数量,价格
客户类有名字,身份证
服务类有打扫,呼叫,替换,点餐
在前三个类里面写好他们的属性和访问接口getter setter
然后我创建了一个process类,在这里当成运作地点
在这里插入图片描述

在process里面写了三个方法
1选择酒店的方法
2获取客户信息的方法
3服务介绍的方法
初始化一下实例对象,然后用对象去访问到各类的setter
在这里插入图片描述

主类
1.在主类里面给主类实例化对象,然后用主类的实例化对象去依次访问方法设置参数传值,并用变量去接收。(当然这里的变量为了好区分,肯定是用他们各自的类在初始化一个实例对象去接收)
2.接收完毕之后直接输出变量
3.设置个数组类型的顾客类的变量,声明一下,然后往这个数组里面加两顾客
把两顾客声明一下传个参
然后输出顾客1和顾客2 的分别的信息,就做到了多个顾客
4.因为服务是包含在酒店里面的,我给酒店的属性加个服务类的变量
然后在主类里面可以直接先用主类的实例化对象访问到酒店类,在访问到服务类,就完成了嵌套。
在这里插入图片描述
在这里插入图片描述
以下是process的代码

package com.wang.training.day2;
import java.util.ArrayList;
import java.util.List;

import com.wang.training.day1.Author;

public class Process {
//设置选择房间的方法,两个参数显示房间数量和价格,分配一个实例化去访问这个类的设置这两个变量并赋值给实例化变量,然后让参数接受设置的值,输出也是本函数类型
//挑选酒店
public Hotel selectRoom(String room,int sum,int price,Serve serve) {//里面包括了一个服务类的实例化对象,意思是可以直接访问服务类的属性
	Hotel hotel = new Hotel();
	hotel.setRoom(room);//类型
	hotel.setSum(sum);//数量
	hotel.setPrice(price);//价格
	hotel.setServe(serve);
	return hotel;
}
//获取客人信息
public Customer getDatas(String name,String id) {
	Customer customer =new Customer();
	customer.setName(name);//名字
	customer.setId(id);//身份证
	return customer;
}
public Serve serve(int call,String eat,String replace,String clean) {
	Serve serve =new Serve();
	serve.setCall(call);//呼叫
	serve.setClean(clean);//打扫
	serve.setEat(eat);//点餐
	serve.setReplace(replace);//替换用品
	return serve;
}



//主函数
public static void main(String[] agrs) {
	Process process =new Process();//实例化主类对象
	Serve serve =process.serve(10086, "clean", "eat", "replace");//用服务类的实例化对象去接收用主类实例化对象访问的服务项目
	Hotel hotel =process.selectRoom("shuangrenjian", 30, 180,serve);//同理用酒店类的实例化对象去接收用主类实例化对象访问的酒店项目
	Hotel hotel2 =process.selectRoom("zongtong", 30, 180,serve);//同理,继续接收,第二个酒店类型
	Customer customer =process.getDatas("zhangsan", "653125200305250020");//同理,顾客去接收数据
	Customer customer2 =process.getDatas("lisi", "65312520030264568");//第二个顾客
	//简单输出
	System.out.println(hotel.getHome());//酒店一的名字
	System.out.println(hotel.getSum());//酒店的数量,因为我们已经用Hotel大类设置了hotel变量去接受主类实例化对象访问的方法了,所以可以直接用hotel去点访问。
	System.out.println(hotel.getPrice());//酒店1的价格
	System.out.println(customer.getName());//同理,顾客名字,所以我们顺序是主类设置实例化变量去访问写好的方法,然后再用一个变量去接收,输出的时候直接用变量.访问就行
	System.out.println(customer.getId());//以下都是同理
	System.out.println(hotel2.getHome());
	System.out.println(customer.getName());
	System.out.println(customer.getId());
	
	//数组的形式
	List<Customer> customers = new ArrayList<>();//升级,给顾客设置了数组类型,数组名字是customers,当然这里也可以给酒店变成数组类型
	customers.add(customer);//添加两个数组,这两变量上面都有声明
	customers.add(customer2 );
	System.out.println(customers.get(0).getName());//就可以按列表输出了,输出列表名字的customers的第一个的名字
	System.out.println(customers.get(1).getName());
	
    //两类互相嵌套
	System.out.println(hotel.getServe().getCall());/*像目录一样,首先咱们hotel1接受了主类实例化对象访问的方法,然后我们也已经设置了参数,
	我们可以选择输出某个值,用点访问,hotel1可以直接访问选择酒店的方法里面的任何一个属性,然后选择了服务的属性,然后服务是嵌套的类,我们再点就可以像目录一样
	访问到服务类方法的东西了,我选择了输出电话*/
	

}

酒店的

package com.wang.training.day2;
//毕业论文,酒店管理系统
public class Hotel {
	private String room;
	private Serve serve;
	private int price;
	private int sum;
	public String getHome() {
		return room;
	}
	public void setRoom(String room) {
		this.room = room;
	}
	public Serve getServe() {
		return serve;
	}
	public void setServe(Serve serve) {
		this.serve = serve;
	}
	public int getPrice() {
		return price;
	}
	public void setPrice(int price) {
		this.price = price;
	}
	public int getSum() {
		return sum;
	}
	public void setSum(int sum) {
		this.sum = sum;
	}

}

顾客的

package com.wang.training.day2;

public class Customer {
private  String name;
private  String id;
private  int time;
public String getName() {
	return name;
}
public void setName(String name) {
	this.name = name;
}
public String getId() {
	return id;
}
public void setId(String id) {
	this.id = id;
}
public int getTime() {
	return time;
}
public void setTime(int time) {
	this.time = time;
}
}

服务的

package com.wang.training.day2;

public class Serve {
private String clean;
private String replace;
private String eat;
private int call;
public String getClean() {
	return clean;
}
public void setClean(String clean) {
	this.clean = clean;
}
public String getReplace() {
	return replace;
}
public void setReplace(String replace) {
	this.replace = replace;
}
public String getEat() {
	return eat;
}
public void setEat(String eat) {
	this.eat = eat;
}
public int getCall() {
	return call;
}
public void setCall(int call) {
	this.call = call;
}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值