1、Java中的枚举
语法格式:enum 枚举名{枚举值表};
用枚举名+.进行访问
1 2 3 4 5 6 7 8 9 10 11 12 13 14 enum MyColor{红色,绿色,蓝色}; public class Enum1 { public static void main(String[] args) { MyColor c1 = MyColor.红色; MyColor c2 = MyColor.绿色; MyColor c3 = MyColor.蓝色; System.out.println(c1); System.out.println(c2); System.out.println(c3); } }
1.2 在switch语句中用枚举
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 enum MyColor{红色,绿色,蓝色}; public class Enum1 { public static void main(String[] args) { MyColor c1 = MyColor.红色; MyColor c2 = MyColor.绿色; MyColor c3 = MyColor.蓝色; switch (c1) { case 红色: System.out.println("我是红色"); break; case 绿色: System.out.println("我是绿色"); break; case 蓝色: System.out.println("我是蓝色"); break; } } }
2、枚举类和枚举关键字 2.1
Values方法:返回枚举值组成的数组
1 2 3 4 5 6 7 8 9 10 11 12 enum MyColor{红色,绿色,蓝色}; public class Enum1 { public static void main(String[] args) { MyColor[] allColor = MyColor.values(); for(MyColor aColor:allColor) { System.out.println(aColor); } } }
2.2、枚举类:Enum
1 2 3 4 5 6 7 8 9 10 11 12 enum MyColor{红色,绿色,蓝色}; public class Enum1 { public static void main(String[] args) { MyColor[] allColor = MyColor.values(); for(MyColor aColor:allColor) { System.out.println(aColor.name()+"-->"+aColor.ordinal()); } } }
另外枚举关键字编号默认从0开始 Scanner类
它提供了输入数据的方法、包含在被称为“实用类”的java.util包中;
在使用前需要创建一个Scanner对象;
声明一个名为in的Scanner变量,并新建一个Scanner对象以便从System.in中获取输入;
Scanner in = new Scanner(System.in);
1 2 3 4 5 6 7 8 9 10 11 12 13 14 import java.util.Scanner; public class Test { public static void main(String[] args) { String line; Scanner in = new Scanner(System.in); System.out.print("Type something:"); line = in.nextLine(); System.out.println("You said:"+line); } }
另外next和nextline是有区别的,前者读到空白符就结束读取,后者读到回车就结束读取
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 import java.util.Scanner; public class Test { public static void main(String[] args) { String line; Scanner in = new Scanner(System.in); System.out.print("Type something(nextline):"); line = in.nextLine(); System.out.println("You said:"+line); System.out.print("Type something(next):"); line = in.next(); System.out.println("You said:"+line); } }
具体的可以去api查询 1、字符串的遍历
在Java中,字符串提供了提取字符的方法charAt,这个方法会返回一个char,因此我们可以利用这一点来实现字符串的遍历;
1 2 3 4 5 6 7 8 9 public class Test { public static void main(String[] args) { String str ="abcdefg"; for(int i=0;i<str.length();i++) { char letter = str.charAt(i); System.out.println(letter); } } }
2、字符串的反转
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 public class Test { public static void main(String[] args) { String str ="abcdefg"; String str2 = reverse(str); printArr(str); printArr(str2); } private static void printArr(String str) { for(int i=0;i<str.length();i++) { char letter = str.charAt(i); System.out.print(letter); } System.out.println(""); } public static String reverse(String s) { String a =""; for (int i = s.length() - 1;i>=0;i--) { a= a + s.charAt(i); } return a; } }
那么有一个问题,定义好的字符串是否能够修改
答案是否定的
我们知道字符串提供了toUpperCase和tolowerCase来转换大小写的方法,但并不意味着字符串可以修改;
但是可以使用其他方法来间接改变,比如replace进行替换
1 2 3 4 5 6 7 public class Test { public static void main(String[] args) { String text = "aaa"; text = text.replace("aaa", "bbb"); System.out.println(text); } }