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);

posted @ 2022-07-02 11:40  Espen  阅读(103)  评论(0)    收藏  举报