系统类即java.lang.System,是一个Object类的子类。
其最主要的特点是使用前不需要用new语句进行初始化,因为在系统启动时,已自动对系统类进行初始化,分配了相应的内存区。
一、数据的输入与输出
系统类java.lang.System中,预先定义了以下三个流对象。
- System.in
- System.out
- Sysstem.err
1、标准的输入——System.in.read()
用来读取字符,若没有读到字符,返回值为-1。
2、Scanner类
java.util.Scanner类,这是一个用于扫描输入数据的实用类,可以结合使用正则表达式和从输入流中检索特定类型的数据。
除能使用正则表达式外,Scanner类还可以任意地对字符串和基本类型的数据进行分析,借助Scanner,可以针对任何要处理的文本内容,编写自定义的语法分析器。
练习1代码
.nextFloat()
.nextInt()
.nextLine()
.hasNextFloat()
.hasNextInt()
package try_a_package;
import java.util.Scanner;
public class learn_3 {
public static void main(String[] args)
{
float a;
int b;
String c;
Scanner rd=new Scanner(System.in);
a=rd.nextFloat();
System.out.println(rd.hasNextFloat());
b=rd.nextInt();
System.out.println(rd.hasNextInt());
c=rd.nextLine();
System.out.println(c);
}
}
运行结果
练习2代码
.next()
package try_a_package;
import java.util.Scanner;
public class learn_4 {
public static void main(String args[])
{
String s1,s2,s3;
Scanner rd=new Scanner(System.in);
s1=rd.next();
s2=rd.next();
s3=rd.next();
System.out.println(s1+s2+s3);
}
}
运行结果
练习三代码
如果需要输入整数,需要加“gbk”。
Scanner rd=new Scanner(System.in,“gbc”)
package try_a_package;
import java.util.Scanner;
public class learn_4_1 {
public static void main(String args[])
{
Scanner rd=new Scanner(System.in,"gbk");
String S1;
S1=rd.nextLine();
System.out.println(S1);
}
}
运行结果
二、分支语句
简单分支不再赘述
switch练习
package try_a_package;
import java.util.Scanner;
public class learn_4_1 {
public static void main(String args[])
{
Scanner rd=new Scanner(System.in);
int m,s;
double c,t;
System.out.println("输入产品的数量:");
m=rd.nextInt();
s=m/500;
switch(s)
{
case 0:
c=0.01;
break;
case 1:
c=0.03;
break;
case 2:
case 3:
c=0.04;
break;
default:
c=0.05;
}
t=20*m*(1-c);
System.out.println("购买产品的花销是:"+t);
}
}
运行结果
三、循环语句
练习1 打印一棵树
package try_a_package;
import java.util.Scanner;
public class learn_4_1 {
public static void main(String args[])
{
int n,i,j,p=40;
Scanner rd=new Scanner(System.in);
System.out.println("输入n:");
n=rd.nextInt();
System.out.println("输出的图形如下:");
for(i=0;i<n;i++)
{
for(j=0;j<p-i;j++)
{
System.out.print(" ");
}
for(j=1;j<=2*i-1;++j)
{
System.out.print("*");
}
System.out.print("\n");
}
}
}
运行结果
练习2 判断素数
package try_a_package;
import java.util.Scanner;
public class learn_4_1 {
public static void main(String args[])
{
Scanner rd=new Scanner(System.in);
int n,i,t;
System.out.println("输入一个正整数:");
n=rd.nextInt();
t=(int)Math.sqrt(n);
for(i=2;i<=t;++i)
{
if(n%i==0)
{
break;
}
}
if(i!=t+1)
{
System.out.println(n+"不是素数");
}
else
{
System.out.println(n+"是素数");
}
}
}
运行结果
练习3.continue语句——打印100以内的素数
package try_a_package;
import java.util.Scanner;
public class learn_4_1 {
public static void main(String args[])
{
Scanner rd=new Scanner(System.in);
int n,i,t;
System.out.println("100以内的素数如下:");
AllPrime:
for(n=2;n<100;++n)
{
t=(int)Math.sqrt(n);
for(i=2;i<=t;++i)
{
if(n%i==0)
{
continue AllPrime;
}
}
if(i>t)
{
System.out.print(n+" ");
}
}
System.out.println("");
}
}