栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

java基础知识day01

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java基础知识day01

文章目录
  • 1.数组
    • 1.1数组打印
    • 1.2使用final可以固定变量
      • 1.1.3三元运算法
  • 2.循环
    • 2.1 switch语句
    • 2.2 for与while循环对比
    • 2.3 while使用
      • 注: 使用while-true时要确保语句内包含break字段,否则会造成内存消耗,永久无限循环并且不会终止
    • 2.4 for循环and for-each
    • 2.5 死循环格式
      • break与continue的区别就是continue会跳过本次循环,而break是终止循环
  • 3. 循环嵌套
    • 3.1.1打印菱形;同时也是多重循环的训练
    • 3.1.2菱形打印方法二
    • 3.1.3 空心菱形;同法二
    • 3.2 二重循环可以解决二元一次方程
      • 案例:百鸡百钱

1.数组

调用point时,更换其中一个的值,另一个也会更改,原因就是因为point是调用存储

Point point1 = new Point(x:1,y:1);
Point point2 = point1;
point1.x = 2;
System.out.Println(point2);

而像int/byte则是分别存储啊,位于不同的内存位置

byte x = 1;
byte y = x;
x = 2;
System.out.Println(y);

trim
string.trim()

转义字符  
换行n
制表t

//c:windows...
String message = "c:\windows\..."
1.1数组打印

使用方法

Arrays.toString()//一维数组
Arrays.deeptoString()//多维数组

int [][] numbers = new int[2][3];
//使用花括号可以直接打印数组
int [][] numbers = { {1,2,3},{4,5,6},{7,8,9}};
Systerm.out.Println(Arrays.deeptoString(numbers));


1.2使用final可以固定变量
final float PI = 3.14;
pi = 2;
1.1.3三元运算法
public static void main(String[] args) {
    int Income = 120_000;
    String ClassName = Income > 100_000 ? "First" : "Economy";
2.循环 2.1 switch语句

使用if语句书写时是这样的,下面使用Switch语句进行改写

public class admin {
    public static void main(String[] args) {
        String role = "admin";
        if (role =="admin")
            System.out.println("you are an admin");
        else if (role =="moderator")
            System.out.println("you are a moderator");
        else
            System.out.println("you are a guest!");
    }
}

改写后如下所示:

public class admin {
    public static void main(String[] args) {
        String role = "admin";
        switch (role) {
            case "admin":
                System.out.println("you are an admin");
                break;
            case "moderator":
                System.out.println("you are a moderator");
                break;
            default:
                System.out.println("you are a guest!");

        }
    }
2.2 for与while循环对比
        for (int i = 0; i < 5; i++) {
            System.out.Println("hello world"+i);   
        }

        int i = 0;
        while(i < 5){
            System.out.Println("hello world"+i); 
            i++;
        }
2.3 while使用
import java.util.Scanner;

public class onecup {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String input = "";
        while (!input.equals("quit")){
            System.out.print("Input: ");
            
            input = scanner.next().toLowerCase();
            System.out.print(input);
        }
           //使用do{}while() 
            do {
            System.out.print("Input: ");
            
            input = scanner.next().toLowerCase();
            System.out.print(input);

        }while(!input.equals("quit"))
注: 使用while-true时要确保语句内包含break字段,否则会造成内存消耗,永久无限循环并且不会终止
import java.util.Scanner;

public class onecup {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String input = "";
        while(true){
            System.out.print("Input: ");
            
            input = scanner.next().toLowerCase();
            if (input.equals("pass"))
                continue;
            if (input.equals("quit"))
                break;
            System.out.println(input);
        }
2.4 for循环and for-each
    public static void main(String[] args) {
        String [] fruits = {"apple","mongo","orange"};

        for (int i = 0;i < fruits.length;i++)
        //(int i = fruits.length;i > 0;i--)
            System.out.println(fruits[i]);
        for (String fruit : fruits)
            System.out.println(fruit);

2.5 死循环格式
for(;;){}
while(true){}
do{}while(true);
break与continue的区别就是continue会跳过本次循环,而break是终止循环

例如:

for (int i = 0;i<=5;i++){}
	if(i%2 == 0){
	break;
	//continue;
	}
	System.out.println(i);
}

break输出结果是1,而continue结果是1,3,5

3. 循环嵌套 3.1.1打印菱形;同时也是多重循环的训练
package com.lingxing;

public class lingxing {
    public static void main(String[] args) {
        int size = 5;//行数
        int startNum = size/2 + 1;//初始列号
        int endNum = size/2 + 1;//结束列号
        boolean flag = true;

        for (int j=1;j<=size;j++){
            for (int i=1;i<=size;i++){
                if (i>=startNum&&i<=endNum){
                    System.out.print("*");
                }else
                    System.out.print(" ");
            }
            System.out.println();//换行

            if (endNum == size ){//endNum==size时,flag关闭
                flag = false;
            }
            
            if (flag){//默认为TRUE
                startNum--;
                endNum++;
            }else {//相当于打印下半部分
                startNum++;
                endNum--;
            }
            
        }
    }
}

3.1.2菱形打印方法二
package com.lingxing;

public class lingxing {
    public static void main(String[] args) {
        
        //上面三角形
        for (int j = 1; j <= 4; j++) {//控制行数
            for (int i = 1; i <= (9-j); i++) {//控制空格数量
                System.out.print(" ");
            }
            /
        //上面三角形
        for (int j = 1; j <= 4; j++) {//控制行数
            for (int i = 1; i <= (9-j); i++) {//控制空格数量
                System.out.print(" ");
            }
            //*******
            for (int i = 1; i <= (2*j-1); i++) {//控制*个数
                if (i==1||i==(2*j-1)){
                    System.out.print("*");
                }else
                    System.out.print(" ");
            }
            //换行
            System.out.println();
        }

        //下面三角形
        for (int j = 1; j <= 3; j++) {//控制行数
            for (int i = 1; i <= (j+5); i++) {//控制空格数量
                System.out.print(" ");
            }
            //*******
            for (int i = 1; i <= (7-2*j); i++) {//控制*个数
                if (i==1||i==(7-2*j)){
                    System.out.print("*");
                }else
                System.out.print(" ");
            }
            //换行
            System.out.println();

        }        
    }
}

3.2 二重循环可以解决二元一次方程 案例:百鸡百钱

公鸡5钱一只,母鸡三钱一只,小鸡一钱三只,求百钱如何购得百鸡

public class chicken {
    public static void main(String[] args) {
        for (int x=1;x<(100/5);x++){
            for (int y=1;y<(100/3);y++){
                int z = 100 - x -y;//三元一次方程也可以写成二元的避免多一层循环嵌套,否则就写成下面这样的三层嵌套;当然也可以;不过容易出错
                
                if ((5*x+3*y+z/3==100)&&(z%3==0)){
                    System.out.println(x + "t" + y + "t" + z);
                }
            }
        }
    }
}
public class lingxing {
    public static void main(String[] args) {
        for (int x = 1; x < (100 / 5); x++) {
            for (int y = 1; y < (100 / 3); y++) {
                for (int z = 1; z < 100; z++) {
                    if ((x + y + z == 100) && (5 * x + 3 * y + z / 3 == 100) && (z % 3 == 0)) {
                        System.out.println(x + "t" + y + "t" + z);
                    }
                }
            }

        }
    }
}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/353472.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号