一Switch 小例子
二字符串
1 java的字符串就是Unicode字符序列, 一个字符, 仅仅代表一个代码点(codePoint),
但却有可能代表多个代码单元
2String类中的 substring 方法可以有一个较大的字符串取出一个子串
3java 运行用+号可以拼接字符串
4String.join 方法例子:
此时all=”abc---def---ghi”;
5 不能修改Java字符串中的字符,所以在Java文档中将String 类对象称为不可变字符串,如同 数字3 永远是数字3 字符串“Hello” 永远包含字符 H e l l o 的代码单元序列 。而不能修改其中的任何一个字符。
6 不可变字符串的一个优点 :编译器可以让字符串共享 。Java的设计者认为共享带来的高效率远胜于提取、拼接字符串带来的低效率。 ( 可以想象一下将各种字符串存放到公共的存储池中,字符串变量指向存储池中相应的位置。 如果复制一个字符串变量,原始字符串与复制字符串共享相同的字符)。
7 使用 equals 方法检测两个字符串是否相等。 表达式 s.equals(t)
检测两个字符串是否相等,并且不区分大小写 可以使用 equalslgnoreCase 方法
8 千万不要使用== 运算符检测两个字符串是否相等 。这个运算符只能确定两个字符串是否放置在同一个位置上。当然,如果字符串放置在同一个位置上,它们必然相等。但是,完全有可能将内容相同的多个字符串的拷贝放置在不同的位置上。 如果虚拟机始终将相同的字符串共享,就可以使用== 运算符检测是否相等。但实际上只有字符串常量是共享的,而+或者substring 等操作产生的结果并不是共享的。因此不要使用== 运算符测试字符串的相等性。
9 空串与Null串
空串“” 是长度为0 的字符串 。空串是一个java对象 有自己的串长度(0)和内容(空) ,不过 String变量还可以存放一个特殊的值,名为null 。这表示目前没有任何对象与改变量关联
检查一个字符串是否为null, if(str == null).
检查一个字符串既不是null 又不是空 if(str!=null&& str.length()!=0)
10 疑问 怎么遍历字符串?
10.1
10.2
三 输入输出
1在程序的开头加上 import java.util.* 2 构造一个Scanner 对象,并与“标准输入流” System.in 关联 。使用nextLine 方法是因为在输入行中有可能包含空格。 读取整数用nextInt ,浮点型用 nextDouble
2 读取密码可以用Console 类实现 .只能用在标准输入、输出流未被重定向的原始控制台中使用,在 Eclipse 或者其他 IDE 的控制台是用不了的
3 格式化输出
在 printf 中, 可以使用多个参数, 例如:
System.out.printf("Hello, %s. Next year, you'll be SSd", name, age) ;
每一个以 % 字符开始的格式说明符都用相应的参数替换。 格式说明符尾部的转换符将指示被 格式化的数值类型:f 表示浮点数,s 表示字符串,d 表示十进制整数
四 流程控制
五 数组
int[] a =new int[100];
对象
时间 Date birthday =new Date(); System.out.println (new Date());
日期 LocalDate newYearsEve = LocalDate.of(1999,12,31); System.out.println (LocalDate.now());
包作用域:
访问修饰符 public 和private 。 标记为public 的部分可以被任意的类使用,标记为private的部分只能被定义它们的类使用。 如果没有指定public 或private 这个部分(类、方法或变量)可以被同一个包中的所有方法访问