public Xxx nextXxx():获取下一个元素。(如果获取两个元素,第一个元素不为字符串,第二个元素为字符串,则获取的第二个字符串为/n是按键enter)
package itshuai.com; import java.util.Scanner; public class ScannerDemo { public static void main(String[] args) { Scanner sc = new Scanner(System.in); if(sc.hasNextInt()) { int s = sc.nextInt(); System.out.println(s); }else { System.out.println("请输入一个整数"); } } } StringString:就是由多个字符组成的一串数据,也可以看成是一个字符数组。
特点:
字符串字面值"abc"也可以看成是一个字符串对象。
字符串是一个常量,一旦赋值,就不能被更改。(注意是值不能改变,不是引用)
构造方法:
public String():初始化一个新创建的 String 对象,使其表示一个空字符序列。注意,由于 String 是不可变的,所以无需使用此构造方法。
public String(byte[] bytes):通过使用平台的默认字符集解码指定的 byte 数组,构造一个新的 String。新 String 的长度是字符集的函数,因此可能不等于 byte 数组的长度。
public String(byte[] bytes,int index,int length):通过使用平台的默认字符集解码指定的 byte 子数组,构造一个新的 String。新 String 的长度是字符集的函数,因此可能不等于该子数组的长度。
上面两个构造方法的参数也可以是char类型
package itshuai.com; public class StringDemo { public static void main(String[] args) { String a = new String(); System.out.println(a); // byte[] by = {97,98,99}; String b = new String(by); System.out.println(b); //abc String c = new String(by,1,2); System.out.println(c); //bc char[] ch = {\'q\',\'w\',\'e\'}; String d = new String(ch); System.out.println(d); //qwe String e = new String(ch,1,2); System.out.println(e); //we } }String s = new String("hello");和String s = "hello";两者的区别是什么:前者其实是需要两个地址值才能找到值的(前者需要创建两个对象,后者需要创建一个)。见下图
字符串如果是变量相加,先开空间,再拼接。如果是常量相加,先拼接,然后在常量池中找,如果有就直接返回地址值,没有就创建。见下图
package itshuai.com; public class StringDemo { public static void main(String[] args) { String a = "Hello"; String b = "World"; String c = "HelloWorld"; System.out.println(c == a + b); //false System.out.println(c == "Hello" + "World"); //true } }方法:
判断功能:
public boolean equals(Object anObject):将此字符串与指定的对象比较,区分大小写。当且仅当该参数不为 null,并且是与此对象表示相同字符序列的 String 对象时,结果才为 true。(覆盖 Object 中的 equals)
public boolean equalsIgnoreCase(String anotherString):将此 String 与另一个 String 比较,不考虑大小写。
public boolean contains(String s):判断大的字符串中是否包含小的字符串
public boolean startsWith(String prefix):测试此字符串是否以指定的前缀开始。
public boolean endsWith(String suffix):测试此字符串是否以指定的后缀结束。
public boolean isEmpty():判断字符串是否为空,是否为""。
2.获取功能
public int length():返回此字符串的长度。长度等于字符串中 Unicode 代码单元的数量。
集合 为什么需要集合java是面向对象语言,我们就需要对对象进行存储,对象数组又是固定长度的,所以我们需要集合。
数组和集合的区别:
长度不同。数组长队固定,集合长度可变。
内容不同。数组存储的是同一类型的元素,集合可以存储不同类型的元素。
数据类型不同。数组可以存储基本数据类型和引用数据类型,集合只能存储引用类型。
异常 什么是异常异常是程序中的一些错误,但并不是所有的错误都是异常,并且错误有时候是可以避免的。当程序出现不正常的问题,jvm就会把问题的名称、原因、位置输出到控制台,但是程序就会停止,这是jvm默认处理的方式。告诉我原因很好,但是程序不能停止啊,我下面还有要运行的东西呢。所以我们需要自己处理异常。
如何自己处理异常的分类以及处理:
error---错误 : 是指程序无法处理的错误,表示应用程序运行时出现的重大错误。例如jvm运行时出现的OutOfMemoryError以及Socket编程时出现的端口占用等程序无法处理的错误。
Exception --- 异常 :异常可分为运行时异常和编译异常