java第一周学习总结
第一天:安装和配置java开发环境。
下载安装Intellij IDEA,下载配置JDK环境变量(网上查找资源和安装配置教程)。
建立第一个java项目文件。

第二天:实现第一个java程序“hello world“,
“hello world”源代码:
public class helloworld {
public static void main(String[] args){
System.out.print("hello
world!");
}
}
运行结果:

理解基本程序代码含义:
Public class和class都是对类进行声明,用于定义类。
Public class:1.如果使用了该类,则类名必须与文件名一致
2.被public修饰的类可以被其他类访问。
Class类可以访问Public类,但不能被其他类访问。
Public static void main(String[] args), 是Java程序的入口地址,Java运行程序时首先找的就是main方法。
main函数,参数String[] args是一个字符串数组,接收来自程序执行时传进来的参数。
String[]代表一维数组,args为字符串变量名。
System是一个类,out是system中的一个对象,print输出字符串。
第三天:
Java的注释:
单行注释://注释内容只写一行
多行注释:
/*
注释内容1
注释内容2
*/
Java包的定义和使用:
类加上一个前缀,把所有java程序保存在各自的目录里面,而该目录就是包,包的本质实际上就是一个文件夹,即把它们放在不同的包里面,调用时再加上前缀即可;这样好处是对同名的类进行了区分;能精确指出我们需要的哪一个;让同名的类在一个程序中可以共存。
导入包中的类 import java.包名称.* (导入包里的所有类
java的输入输出:
使用Scanner类,使用java.util包,import java.util.*;
Scanner s = new Scanner(System.in);
Scanner 是一个类,s是一个实例或者说是对象!new 是一个创建对象的方法
Scanner类获取控制台输入。
就相当与声明这是一个类(Scanner),这个类是谁(in), 后面新创建一个类new Scanner(system.in),system.in 表示他有什么特征。
总的来说就是新创建一个输入的Scanner对象,然后赋值给s。
常用的next()方法系列: nextInt():输入整数 nextLine():输入字符串 nextDouble():输入双精度数 next():输入字符串(以空格作为分隔符)。
import java.util.*;
public class DEMO_1 {
public static void main(String[] args){
Scanner s = new Scanner(System.in);
System.out.print("输入你的姓名:");
String name = s.nextLine();
System.out.print("输入你的年龄:");
int age = s.nextInt();
System.out.println("姓名:" + name + " 年龄:" + age );
s.close(); //若没有关闭Scanner对象将会出现警告
}
}
输出语句:Java中的输出语句有以下四种:
System.out.println(1111);//换行打印
System.out.print(1111);//不换行打印
System.out.write(2222);//字节输出
System.out.printf("%+8.3f\n", 3.14);//按格式输出
System.out.println(); 是最常用的输出语句,它会把括号里的内容转换成字符串输出到输出窗口,并且换行,当输出的是一个基本数据类型时,会自动转换成字符串,如果输出的是一个对象,会自动调用对象的toString();方法,将返回值输出到控制台
System.out.print(); 与第一个很相似,区别就是上一个输出后会换行,而这个命令输出后并不换行。
System.out.printf(); 这个方法延续了C语言的输出方式,通过格式化文本和参数列表输出。
第四天:
实现使用cmd运行java程序

遇到了中文无法打印的问题,可通过在cmd中编译时输入javac -encoding UTF-8 helloworld.java
其中-encoding UTF-8就是用来改变编码的指令

拼接打印:
public class TestPrint3 {
public static void main(String[] args) {
//1.定义变量保存姓名
String name = "派大星";
//2.定义变量保存年份
int year = 1;
//3.定义变量保存期望薪资
double salary = 10000.0;
//4.拼接打印目标结果
System.out.println(name+":这是我学习JAVA的第"+year+"年,我的期望薪资是"+salary);
}
}
第五天:
实现调用函数:
import java.util.Scanner;
public class TestBMI {
public static void main(String[] args) {
System.out.print("请输入您的身高(单位为m):");
double height = new Scanner(System.in).nextDouble();
System.out.print("请输入您的体重(单位为kg):");
double weight = new Scanner(System.in).nextDouble();
//2.调用getBMI()方法,根据身高和体重信息,输出结果
getBMI(height, weight);
}
public static void getBMI(double h, double w) {
//求出BMI指数
double bmi = w / (h * h);
//定义一个变量r来保存最终结果
String r = "";
if (bmi < 18.5) {
r = "过轻";
} else if (bmi <= 22.9) {
r = "正常";
} else if (bmi <= 24.9) {
r = "偏胖";
} else if (bmi <= 29.9) {
r = "肥胖";
} else if (bmi <= 40) {
r = "重度肥胖";
} else {
r = "极度肥胖";
}
//打印最终结果
System.out.println("您的BMI指数:" + bmi);
System.out.println("您的体重属于:" + r);
}
}
定义字符串变量r=“”
编程实现求指定两个数的最大公约数和最小公倍数
import java.util.Scanner;
public class NumTest {
public static void main(String[] args) {
System.out.println("输入两个整数:");
int a = new Scanner(System.in).nextInt();
int b = new Scanner(System.in).nextInt();
int d = zdgys(a,b);//调用求最大公约数
long x = zxgbs(a,b);//调用求最小公倍数
System.out.println("最大公约数:"+d);
System.out.println("最小公倍数:"+x);
}
private static int zdgys(int a, int b) {
int min = a<b ? a : b;
for(int i=min; i>=1; i--) {
if(a%i==0 && b%i==0) {
return i;
}
}
//这句代码不会执行,让编译可以通过
return 0;
}
private static long zxgbs(int a, int b) {
int max = a>b? a : b;
for(long i=max; ;i+=max) {
//i能同时被a和b整除
if(i%a==0 && i%b==0) {
return i;
}
}
}
}
第六天:
编程实现商品录入系统:
import java.util.Scanner;
public class Product {
//成员变量
static String[] names = {"iPhoneXS","华为 Mate 20 pro","小米X","vivo NEX","oppo Find"};
static double[] price = {8999,5399,2399,4399,3999};
static int[] numbers = {50,20,80,120,90};
public static void main(String[] args) {
outer:
while(true) {
//显示菜单,并获得选择的值
int c = menu();
//判断c的值
switch(c) {
case 1: f1(); break;
case 2: f2(); break;
case 3: f3(); break;
case 4: f4(); break;
case 5: break outer;
}
}
}
private static int menu() {
System.out.println("----------------------");
System.out.println("1. 商品列表");
System.out.println("2. 商品录入");
System.out.println("3. 商品查询");
System.out.println("4. 统计信息");
System.out.println("5. 退出");
System.out.println("----------------------");
System.out.print("选择:> ");
return new Scanner(System.in).nextInt();
}
private static void f1() {
for(int i=0;i<names.length;i++) {
String n = names[i];
double p = price[i];
int b = numbers[i];
System.out.println(
(i+1)+". 名称:"+n+",价格:"+p+",数量:"+b);
}
}
private static void f2() {
//遍历数组
for (int i = 0; i < names.length; i++) {
System.out.println("录入第"+(i+1)+"件商品:");
System.out.print("名称:");
String n = new Scanner(System.in).nextLine();
System.out.print("价格:");
double p = new Scanner(System.in).nextDouble();
System.out.print("数量:");
int b = new Scanner(System.in).nextInt();
names[i] = n;
price[i] = p;
numbers[i] = b;
}
//重新显示商品列表
f1();
}
private static void f3() {
System.out.print("输入查询的商品名:");
String n = new Scanner(System.in).nextLine();
//遍历数组
for (int i = 0; i < names.length; i++) {
// n 和 names[i] 相等
if(n.equals(names[i])) {
String name = names[i];
double p = price[i];
int b = numbers[i];
System.out.println(
(i+1)+". 名称:"+name+",价格:"+p+",数量:"+b);
return;
}
}
//循环结束,所有商品都比较完,没有找到
System.out.println("找不到商品");
}
private static void f4() {
//商品总价,单价均价,最高单价,最高总价
double spzj = 0;//商品总价
double djzj = 0;//单价总价
double zgdj = 0;//最高单价
double zgzj = 0;//最高总价
//遍历数组
for (int i = 0; i < names.length; i++) {
spzj += price[i] * numbers[i];
djzj += price[i];
//数组中,找到更大的值
if(price[i] > zgdj) {
zgdj = price[i];//更大值存到这个变量
}
if(price[i]*numbers[i] > zgzj) {
zgzj = price[i]*numbers[i];
}
}
System.out.println("商品总价:"+spzj);
System.out.println("单价均价:"+(djzj/names.length));
System.out.println("最高单价:"+zgdj);
System.out.println("最高总价:"+zgzj);
}
}
outer在Java中是一个标签,并不是关键字,因此outer也可以用其它的词来代替。java中的标签就是一个紧跟着英文冒号(:)的标识符。与其他语言不同的是,java中的标签只有放在循环语句之前才有用 。
while的死循环:
while(true){
System.out.println("");
}
do while的死循环:
do{
System.out.println("");
}while(true);

浙公网安备 33010602011771号