Java的输入和输出、if...else if...else判断、Java中打印数组、Java中数组排序、查看函数方法的源码、命令行参数

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zgcr654321/article/details/82724301

Java的输入和输出:

输入:

import java.util.Scanner

Scanner s = new Scanner(System.in);

//通过new Scanner(System.in)创建一个Scanner对象,控制台会一直等待输入,直到敲回车键结束,把所输入的内容传给Scanner,作为扫描对象。要获取输入的内容,则只需要调用Scanner的nextLine()或nextInt()或nextdouble()等方法。

String name=s.nextLine();//读取一个字符串输入,直到回车换行

int age=s.nextInt();//或者读取一个int型整数

如:

读取一个字符串输入。

import java.util.Scanner;

public class test {

	public static void main(String[] args) {
		Scanner s = new Scanner(System.in);
		String name=s.nextLine();
		System.out.println(name);
		System.out.print("\n");
		System.out.print(name);
	}

}

读取一个整数输入。

import java.util.Scanner;

public class test {

	public static void main(String[] args) {
		Scanner s = new Scanner(System.in);
		int age=s.nextInt();
		System.out.println(age);
		System.out.print("\n");
		System.out.print(age);
	}

}

输出:

System.out.println();//输出并换行

System.out.print();//输出但不换行

System.out.printf();//格式化输出

如:

public class test {

	public static void main(String[] args) {
		System.out.println("hello"+"你好");
		System.out.print("你好我不想换行");
		System.out.print("前面不换行所以我跟着上一句");
		System.out.println();
		double pai=3.1415926;
		System.out.printf("pai=%7.2f",pai);
	}
}

运行截图如下:

if...else if...else判断:

这和C语言中基本一样。

如:

import java.util.Scanner;

public class test {

	public static void main(String[] args) {
		Scanner s=new Scanner(System.in);
		int n=s.nextInt();
		if(n>60)
			System.out.println("n>60");
		else if(n>80)
			System.out.println("n>80");
		else
			System.out.println("其他情况");
	}
}

运行截图如下:

注意:

在Java中,浮点数判断相等时,用==判断是不靠谱的。我们可以利用Math.abs(x-0.1)<0.00001这样小于某个临界值即算作相等来判断。

如:

public class test {

	public static void main(String[] args) {
		double x=1-0.000009/10;
		if(Math.abs(x-1)<0.00001)
			System.out.println("x等于1");
	}
}

如果是引用类型的变量,如字符串变量,==符号判断的是其是否指向同一个字符串对象,而要判断字符串的内容是否相等,要使用equals()函数。

如:

public class test {

	public static void main(String[] args) {
		String s1="ABC";
		String s2="ABC";
		String s3=s1;
		if(s1.equals(s2))
			System.out.println("s1等于s2");
		if(s1==s3)
			System.out.println("s1与s3指向同一个字符串对象");
	}
}

如果变量为null,则调用equals()会报错。我们可以通过短路运算符&&来避免这种情况。

如:


public class test {

	public static void main(String[] args) {
		String s1=null;
		String s2="ABC";
		if(s1!=null&&s1.equals(s2))
			System.out.println("s1等于s2");
	}
}

swtich语句、while循环、do while循环、for循环、break语句、continue语句均与C语言中类似。

注意:

要想在ecliipse中避免遗漏switch中的break语句,可点击window->preferences->java->complier->Errors/Warnings,switch case fall-through和switch is missing default case全部选为warning。

Java中打印数组:

由于数组变量是引用类型,直接打印数组变量得到的是变量名的地址,要打印数组元素,我们可以用for循环或使用Arrays.toString()方法。

如:

import java.util.Arrays;

public class test {

	public static void main(String[] args) {
		int[] ns= {1,2,3,4,5,8};
		System.out.println(ns);
		System.out.println(Arrays.toString(ns));
	}
}

Java中数组排序:

冒泡排序:

import java.util.Arrays;

public class test {

	public static void main(String[] args) {
		int[] ns= {28,12,89,73,65,18,96,50,8,36};
		for(int i=0;i<ns.length;i++) {
			for(int j=i;j<ns.length-1;j++) {
				if(ns[j]>ns[j+1]) {
					int temp=ns[j];
					ns[j]=ns[j+1];
					ns[j+1]=temp;
			}
		}
	}
		System.out.println(Arrays.toString(ns));
	}
}

运行截图如下:

使用Arrays.sort()方法,该方法对于元素多的数组进行快速排序,对于元素少的数组进行冒泡排序。

import java.util.Arrays;

public class test {

	public static void main(String[] args) {
		int[] ns= {28,12,89,73,65,18,96,50,8,36};
		Arrays.sort(ns);
		System.out.println(Arrays.toString(ns));
	}
}

运行截图如下:

注意:

上述两种方法都修改了数组本身的元素引用。

查看函数方法的源码:

在eclipse中快速查看Java中某个函数或方法的源码:按住CTRL键,点击方法名如sort,就可以打开其方法的源码文件。

如果没有的话,点击Attach Source,JDK的源码一般位于JDK所在文件夹中的src.zip中。

这个方法适用于IDEA、Pycharm。

命令行参数:

命令行函数是一个String[]数组,args为数组变量名,我们可以向这个数组中传入任意数量的参数变量名。命令行参数由JVM虚拟机接收用户的输入并传给Main()方法。

比如我们可以在cmd中javac 文件名.java编译某个.java文件,然后输入java 文件名 -s -t -version。

-s -t -version均为传入的参数。检测这些传入的参数变量名,在Main函数中可设置if判断来执行一些操作。

我们还可以在eclipse中选择Main.java,选择run->run configurations,在Arguments中填写我们要传入的参数变量名。

如:

public class test {

	public static void main(String[] args) {
		System.out.println(args.length);
		for(String arg:args)
			System.out.println(arg);
	}
}

运行截图如下:

猜你喜欢

转载自blog.csdn.net/zgcr654321/article/details/82724301