3.6 break 、continue跳转语句
break语句和continue语句
-
break:终止该层循环,循环停止
-
continue:跳过本次循环,继续下次循环
break是终止循环,即在程序中遇到break,那么break所属的循环将结束。
for(int x=0;x<3;x++){
if(x==1)
break;
System.out.println("x="+x);
}
continue是结束本次循环,继续下次循环。循环是不会结束的。
for(int x=0; x<0 ; x++){
if(x % 2 = 0)
continue;
System.out.println("x="+x);
}
注:
若这两个语句离开应用范围,存在是没有意义的。
这个两个语句单独存在后面都不能有语句,因为执行不到。
continue语句是跳过本次循环,继续下次循环。
标签的出现,可以让这两个语句作用于指定的循环
第四章 常用类 (可以参考API)
4.1 Math类
Math类包含用于执行基本数学运算的方法,如初等指数、对数、平方根和三角函数。
自带常量
-
static double E:比任何其他值都更接近e(即自然对数的底数)的double值。
-
static double Pl:比任何其他值都更接近pi(即圆的周长与直径之比)的double值。
取整方法
-
static double ceil(double a):返回最小的(最接近负无穷大)double值,该值大于等于参数,并等于某个整数。-----向上取整
-
static double floor(double a):返回最大的(最接近正无穷大)double值,该值小于等于参数,并等于某个整数。----向下取整
-
static double rint(double a):返回最接近参数并等于某一整数的double值。---四舍五入
-
static long round(double a):返回最接近参数的long。
三角函数方法
-
static double sin(double a):返回角的三角正弦。
-
static double cos(double a):返回角的三角余弦。
-
static double tan(double a):返回角的三角正切。
-
static double toDegrees(double angrad):将用弧度表示的角转换为近似相等的用角度表示的角。
-
static double toRadians(double angdeg):将用角度表示的角转换为近似相等的用弧度表示的角。
-
static double asin(double a):返回一个值的反正弦;返回的角度范围在-pi/2到pi/2之间。
-
static double acos(double a):返回一个值的反余弦;返回的角度范围在0.0到pi之间。
-
static double atan(double a):返回一个值的反正切;返回的角度范围在-pi/2到pi/2之间。
指数函数方法
-
static double exp(double a):返回欧拉数e的double次幂的值。
-
static double log(double a):返回double值的自然对数(底数是e)。
-
static double log10(double a):返回doub1e值的底数为10的对数。
-
static double pow(double a,double b):返回第一个参数的第二个参数次幂的值。
-
static double sqrt(double a):返回正确舍的double值的正平方根。
-
static double cbrt(double a):返回double值的立方根。
其他方法
-
static double abs(double a):返回double值的绝对值。。
-
static double hypot((double x,double y):返回sqrt(x2+y2),没有中间溢出或下溢。
-
static double max(double a,double b):返回两个double值中较大的一个。
-
static double min(double a,double b):返回两个double值中较小的一个。
-
static double random():返回带正号的double值,该值大于等于0.0且小于1.0。
4.2 Scanner类
-
String next():查找并返回来自此扫描器的下一个完整标记。
-
boolean nextBoolean():扫描解释为一个布尔值的输入标记并返回该值。
-
byte nextByte():将输入信息的下一个标记扫描为一个byte。
-
double nextDouble():将输入信息的下一个标记扫描为一个double。
-
float nextFloat():将输入信息的下一个标记扫描为一个float。
-
int nextInt():将输入信息的下一个标记扫描为一个int。
-
String nextLine():此扫描器执行当前行,并返回跳过的输入信息。
-
long nextLong():将输入信息的下一个标记扫描为一个long。
-
short nextShort():将输入信息的下一个标记扫描为一个short。
4.3 Random类
-
boolean nextBoolean():返回下一个伪随机数,它是取自此随机数生成器序列的均匀分布的boolean值。
-
double nextDouble():返回下一个伪随机数,它是取自此随机数生成器序列的在0.0和1.0之间均匀分布的double值。
-
int nextInt():返回下一个伪随机数,它是此随机数生成器的序列中均匀分布的int值。
-
int nextInt(int n):返回一个伪随机数,它是取自此随机数生成器序列的、在0(包括)和指定值(不包括)之间均匀分布的int值。
4.4 String类
类的定义
String是一个final类,不能被继承的类 。String类实现了java.io.Serializable接口,可以实现序列化 String类实现了 Comparable,可以用于比较大小(按顺序比较单个字 符的ASCII码) String类实现了 CharSequence 接口,表示是一个有序字符的序列,因为String 的本质是一个char类型数组
获取相关
-
char charAt(int index):返回指定索引处的char值。
-
int indexOf(int ch):返回指定字符在此字符串中第一次出现处的索引。
-
int indexOf(int ch,int fromlndex):返回在此字符串中第一次出现指定字符处的索引,从指定的索引开始搜索。
-
int indexOf(String str):返回指定子字符串此字符串中第一次出现处的索引。
-
int indexOf(String str,int fromlndex):返回指定子字符串在此字符串中第一次出现处的索引,从指定的索引开始。
-
int lastIndexOf(int ch):返回指定字符在此字符串中最后一次出现处的索引。
-
int length():返回此字符串的长度。
-
String[] split(String regex):根据给定正则表达式的匹配拆分此字符串。
-
String substring(int beginlndex):返回一个新的字符串,它是此字符串的一个子字符串。 -----裁剪字符串
-
String substring(int beginlndex,int endIndex):返回一个新字符串,它是此字符串的一个子字符串。
判断相关
-
int compareTo(String anotherString):按字典顺序比较两个字符串。 s1.compareTo(s2) ;
-
int compareTolgnoreCase(String s):按字典顺序比较两个字符串,不考虑大小写。
-
boolean contains(CharSequence s):当且仅当此字符串包含指定的char值序列时,返回true.
-
boolean endsWith(String suffix):测试此字符串是否以指定的后缀结束。
-
boolean equals(Object anObject):将此字符串与指定的对象比较。
-
boolean equalslgnoreCase(String anotherString):将此string与另一个string比较,不考虑大小写。
-
boolean isEmpty():当且仅当length()为0时返回true.
-
boolean startsWith(String prefix):测试此字符串是否以指定的前缀开始。
-
boolean startsWith(String prefix,int toffset):测试此字符串从指定索引开始的子字符串是否以指定前缀开始。
修改相关
-
String replace(char oldChar,char newchar):返回一个新的字符串,它是通过用newchar替换此字符串中出现的所有oldchar得到的。
-
String replace(CharSequence target,CharSequence replacement):使用指定的字面值替换序列替换此字符串所有匹配字面值目标序列的子字符串。
-
String toLowerCase():使用默认语言环境的规侧将此string中的所有字符都转换为小写。
-
String toUpperCase():使用默认语言环境的规则将此string中的所有字符都转换为大写。
-
String trim():返回字符串的副本,忽略前导空白和尾部空白。
int length():返回字符串长度;
当对字符串进行修改的时候,需要使用 StringBuffer 和 StringBuilder 类。 和 String 类不同的是,StringBuffer 和 StringBuilder 类的对象能够被多次的修 改, 并且不产生新的未使用对象。
在使用 StringBuffer 类时,每次都会对 StringBuffer 对象本身进行操作,而不是生成新的对象, 所以如果需要对字符串进行修改推荐使用 StringBuffer。 StringBuilder 类在 Java 5 中被提出,它和 StringBuffer 之间的最大不同在于 StringBuilder 的方法 不是线程安全的(不能同步访问)。 由于 StringBuilder 相较于 StringBuffer 有速度优势,所以在单线程下多数建议 使用 StringBuilder 类。
StringBuffer类常用方法
-
StringBuffer append(Object obj):将object参数的字符串表达式添加到序列;
-
StringBuffer insert(int offset, Object obj):向序列插入指定偏移量的object参数的字符串表示式;
-
StringBuffer delete(int start, int end):从序列中删除给定开始/结束索引的字符 序列;
-
StringBuffer replace(int start, int end, String str):使用给定字符串替换给定开 始/结束索引的字符序列;
-
StringBuffer reverse():返回反转的序列;
-
CharSequence subSequence(int start, int end):从序列中返回给定开始/结束索 引的子序列;
-
String substring(int beginIndex):返回指定开始索引的子字符串(默认到结 尾);
-
String substring(int beginIndex, int endIndex):返回指定开始索引和结束索引 的子字符串;
-
void setCharAt(int index, char ch):序列指定索引处的字符设置为char值;
-
void setLength(int newLength):设置字符序列的长度;
-
int indexOf(String str):返回指定子字符串第一次出现的字符串中的索引;
-
int indexOf(String str, int fromIndex):从指定的索引处开始,返回指定子字符 串第一次出现的字符串中的索引;
-
char charAt(int index):返回给定索引在该序列中的char值;
-
int capacity():返回当前容量
字符串输出格式
int a 100; double b=3.1415: string c ="nihao"; System.out.printf("a %d b =%1f c=%s n",a,b,c); system.out.format("a2 =%d H2 =%.2f c=%7s\n",a,b,c);
基本IO操作
第一种Scanner
//Scanner类中的方法 //优点一:可以获取键盘输入的字符串 //优点二:有现成的获取int,float等类型数据,非常强大,也非常方便;
public static void ScannerTest(){
Scanner sc = new Scanner(System.in);
System.out.println("ScannerTest,Please Enter Name:")
String name=sc.nextLine(O;//读取字符串型输入
System.out.println("ScannerTest,Please Enter Age:")
int age=sc.nextInt();//读取整型输入
System.out.println("ScannerTest,Please Enter Salary:")
float salary=sc.nextFloat();//读取float型输入
System.out.println("Your Information is as below:");
System.out.println("Name:"name +"\n""Age:"+age "In"+"Salary:"+salary);
}
第二种in/out
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Scanner;
//System.in和System.out方法
//缺点一:该方法能获取从键盘输入的字符,但只能针对一个字符的获取
//缺点二:获取的只是char类型的。如果想获得int,float等类型的输入,比较麻烦。
public static void CharTest(){
try{
System.out.print("Enter a Char:");
char i =(char)System.in.read();
System.out.println("You Enter Char is:"+i);
catch(IOException e){
e.printStackTrace();
}
}
第三种
内部调用了本地native方法重新设置系统流)。请记住,务必在JVM关闭之前冲刷System.out(调用flush(),确保System.out把数据输出到了文件中。 //InputStreamReader和BufferedReader方法 //优点:可以获取键盘输入的字符串 //缺点:如何要获取的是int,float等类型的仍然需要转换
public class ReadTest(){
public static void main(String[] args){
System.out.println("ReadTest,Please Enter Data:")
InputStreamReader is=new InputStreamReader(System.in);//new构造InputStreamReader对象
BufferedReader br=new BufferedReader(is);//拿构造的方法传到BufferedReader中,此时获取到的就是整个缓存流
try{//该方法中有个IOExcepiton需要捕获
String name br.readLine();
System.out.println("ReadTest Output:"name);
}
catch(IOException e){
e.printStackTrace();
}
}
}
Character类相关
Character类在对象中包装一个基本类型char的值。Character类型的对象包含类型为char的单个字段。
-
static boolean isDigit(char ch):确定指定字符是否为数字。
-
static boolean isLetter((char ch):确定指定字符是否为字母。
-
static boolean isLetterOrDigit(char ch):确定指定字符是否为字母或数字。
-
static boolean isLowerCase(char ch):确定指定字符是否为小写字母。
-
static boolean isSpaceChar(char ch):确定指定字符是否为Unicode空白字符。
-
static boolean isUpperCase(char ch):确定指定字符是否为大写字母。
例子
Character x = new Character('a');
System.out.println(x.isLetterorDigit(x));