设置环境变量
-
右键我的电脑→属性→高级系统设置→在下侧的系统变量中新建:
变量值填自己的jdk路径就好。 -
双击打开Path变量,点击编辑文本,在最前方加入“ %JAVA_HOME%\bin; ”
(不过好像和老师讲得不一样……)
使用IDEA
若只新建com.day01.demo01, 在IDEA的工程列表里只会显示“一个包” (名为com.day01.demo01)
如果再新建com.day01.demo02 , com.day02.demo01 , com.day02.demo02, 工程列表会变成树状。
相当于自动合并了同前缀的package吧
生成最基本的HelloWorld
public class 类名称{
public static void main(String[] args){ //这一行可以打psvm补全,也可以打main补全
System.out.println("HelloWorld");
// 这是输出语句,在IDEA中通常写“sout”回车
// 备注:println中的ln为line的缩写,代表输出完换行。
}
}
命名规范
类名称与方法名称:大驼峰式:所有单词首字母大写,如Student, Demo01PrintMethod , MethodA
变量名:小驼峰式:第一个单词首字母小写,后面所有单词首字母大写,如index, sumOfNum
变量
- 赋值后才能使用
- 使用范围不能超过作用域(定义的一行开始,到所属大括号结束)
- 可以一句赋值多个变量,但是不推荐。
数据转换
- 自动转换:数据范围从小到大时,不需要特殊处理,编译器自动完成。
- 强制转换:数据范围从大到小时,需要手动前缀 ( 范围小的类型 ) 变量名 , 如 (int) 100L
附上今天的俩作业:
1、从控制台接收张三本次期末考试语文、数学、英语的成绩,并计算出平均成绩。
import java.util.Scanner;
public class Demo01Homework {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入语文、数学、英语成绩:");
double chinese = sc.nextInt();
double math = sc.nextInt();
double english = sc.nextInt();
double avg = (math + chinese + english)/3;
System.out.println("平均成绩为:"+avg);
}
}
2、从控制台接收输入一个4个数的年份,判断是否为闰年,是闰年打印出true,不是闰年打印出false.
import java.util.Scanner;
public class Demo02Homework {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入年份判断,输入0结束:");
// 通过死循环实现多次判断,不过应该有更好写法吧
while (true) {
int year = sc.nextInt();
if(year == 0){
return;
}
else{
System.out.println(judge(year));
}
}
}
// 定义了一个判断闰年的方法,返回值为布尔型
public static boolean judge(int year){
if ((year % 4 == 0)&&(year % 100 != 0) || (year % 400 == 0)){
return true;
} else {
return false;
}
}
}
效果如图
还有个扩展题,因为学的东西实在是太少了,所以很暴力地用大量方法的调用与返回堆起来了这个菜单页面,通过ArrayList集合与用户类实现了用户信息的添加、修改与查询,以及每个页面都有索引限制。
效果图
主方法
// 我行我素购物管理系统
public class Demo01Homework {
public static void main(String[] args) {
Menu.menuLogin();
}
}
Menu类
import java.util.ArrayList;
import java.util.Scanner;
public class Menu {
public static Scanner sc = new Scanner(System.in);
static ArrayList<Member> list = new ArrayList<>();
static { //初始化赋值
Member one = new Member("张三", "123");
Member two = new Member("李四", "1234");
Member three = new Member("王五", "12345");
list.add(one);
list.add(two);
list.add(three);
}
// 登录菜单
public static void menuLogin() {
while (true) {
System.out.println();
System.out.println("====我行我素购物管理系统====");
System.out.println("1:登录");
System.out.println("2:退出");
System.out.print("输入序号:");
int index = sc.nextInt();
switch (index) {
case 1: //输入1时登录
System.out.print("输入用户名:");
String username = sc.next();
System.out.print("输入密码:");
String password = sc.next();
if (login(username, password)) {
menuMain();
} else {
System.out.println("用户名或密码错误!");
}
break;
case 2:
System.out.println("再见!");
return;
default:
System.out.println("输入错误,重试:");
break;
}
}
}
public static boolean login(String username, String password) {
return "admin".equals(username) && ("123456".equals(password));
}
public static void menuMain() {
while (true) {
System.out.println();
System.out.println("====主菜单====");
System.out.println("0: 返回上一级");
System.out.println("1:客户信息管理");
System.out.println("2:购物结算");
System.out.println("3:真情回馈");
System.out.println("4:注销");
System.out.print("输入序号:");
int i = sc.nextInt();
switch (i) {
case 0:
case 4:
return;
case 1:
menuInfo();
break;
case 2:
purchase();
break;
case 3:
menuFeedback();
break;
default:
System.out.println("输入错误,重试:");
break;
}
}
}
// 客户信息管理菜单
public static void menuInfo() {
while (true) {
System.out.println();
System.out.println("=======客户信息========");
System.out.println("0: 返回上一级");
System.out.println("1:显示所有客户信息");
System.out.println("2:添加客户信息");
System.out.println("3:修改客户信息");
System.out.println("4:查询客户信息");
System.out.print("输入序号:");
int i = sc.nextInt();
switch (i) {
case 0:
return;
case 1:
showAllMembers();
break;
case 2:
addMembers();
break;
case 3:
modifyMembers();
break;
case 4:
showMembers();
break;
default:
System.out.println("输入错误,重试:");
break;
}
}
}
// 回馈菜单
public static void menuFeedback() {
while (true) {
System.out.println();
System.out.println("====真情回馈====");
System.out.println("0: 返回上一级");
System.out.println("1:幸运大放送");
System.out.println("2:幸运轮盘");
System.out.println("3:生日问候");
System.out.print("输入序号:");
int i = sc.nextInt();
switch (i) {
case 0:
return;
case 1:
daFangSong();
break;
case 2:
daZhuanPan();
break;
case 3:
birthday();
break;
default:
System.out.println("输入错误,请重输:");
break;
}
}
}
// 展示所有客户信息
private static void showAllMembers() {
System.out.println();
System.out.println("====展示所有客户信息====");
int size = list.size();
for (int i = 0; i < size; i++) {
System.out.print("编号:" + (i + 1) + ", ");
list.get(i).show();
}
}
// 增加客户信息
private static void addMembers() {
System.out.println();
System.out.println("====增加客户信息====");
System.out.print("输入用户姓名:");
String name = sc.next();
System.out.print("输入用户密码:");
String password = sc.next();
Member temp = new Member(name, password);
list.add(temp);
System.out.println("添加完成!");
}
// 修改客户信息
private static void modifyMembers() {
System.out.println();
System.out.println("====修改客户信息====");
while (true) {
System.out.print("输入客户编号:");
int i = sc.nextInt();
if (i < 0 || i >= list.size()) {
System.out.println("超出编号范围!");
continue;
}
list.get(i - 1).show();
System.out.print("输入修改后的姓名:");
String name = sc.next();
System.out.print("输入修改后的密码:");
String password = sc.next();
list.get(i - 1).setName(name);
list.get(i - 1).setPassword(password);
System.out.println("修改成功!");
return;
}
}
// 展示客户信息
private static void showMembers() {
System.out.println();
System.out.println("====查询客户信息====");
while (true) {
System.out.print("输入客户编号:");
int i = sc.nextInt();
if (i < 0 || i >= list.size()) {
System.out.println("超出编号范围!");
continue;
}
list.get(i - 1).show();
return;
}
}
// 购物结算
private static void purchase() {
while (true) {
System.out.println("====结算====");
System.out.print("请输入结算金额,输入0返回上一级:");
double money = sc.nextDouble();
if (money == 0) return;
if (money < 0) {
System.out.println("输入有误,请重新输入:");
continue;
}
System.out.println("是否参加换购活动?");
System.out.println("0.不换购");
System.out.println("1.满50元,加2元换购可乐一瓶");
System.out.println("2.满100元,加3元换购500mL可乐一瓶");
System.out.println("3.满100元,加10元换购5公斤面粉");
System.out.println("4.满200元,加50元换购天猫精灵");
while (true) {
System.out.print("输入序号:");
int i = sc.nextInt();
switch (i) {
case 0:
System.out.println("本次消费总金额:" + money);
return;
case 1:
money += 2;
System.out.println("换购成功!");
System.out.println("本次消费总金额:" + money);
return;
case 2:
money += 3;
System.out.println("换购成功!");
System.out.println("本次消费总金额:" + money);
return;
case 3:
money += 10;
System.out.println("换购成功!");
System.out.println("本次消费总金额:" + money);
return;
case 4:
money += 50;
System.out.println("换购成功!");
System.out.println("本次消费总金额:" + money);
return;
default:
System.out.println("输入有误,请重新输入!");
break;
}
}
}
}
// 幸运大放送
private static void daFangSong() {
System.out.println("====大放送====");
}
// 大转盘
private static void daZhuanPan() {
System.out.println("====大转盘====");
}
// 生日祝福
private static void birthday() {
System.out.println("====黄旭东祝您寿比南山!====");
}
}
Member类
public class Member {
private String name;
private String password;
public void show(){
System.out.println("姓名:"+ name +", 密码:" + password);
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public Member(String name, String password) {
this.name = name;
this.password = password;
}
public Member() {
}
}