java字符串与Scanner交互

1 字符串

字符串的创建有两种方式:

//直接赋值
String e = "";   //空字符串
String greeting = "Hello";   
//使用new String()创建
String aa = new String("hello");

String直接赋值与new String的区别:

String直接赋值字符串进行比较时,是对值进行比较;

使用new String进行比较时,是对地址空间进行比较。aa与bb地址空间不同,因此返回false。

String aa = new String("nana");
String bb = new String("nana");
System.out.println(aa==bb);  //false

String sa = "nana";
String sb = "nana";
System.out.println(sa==sb);  //true

1.1 子串

String greeting = "Hello"
String s = greeting.substring(0,3)   // s = "Hel"

substring方法的第二个参数是不想复制的第一个位置。

1.2 拼接

使用+号连接两个字符串。

String a = "aaaa";
String b = "bbbb";
String c = a + b;  // c = "aaaabbbb"

当一个字符串与一个非字符串进行拼接时,后者会被转换成字符串。

String a = "name";
int b = 10;
System.out.println(b+a);  //name10

1.3 检测字符串是否相等

// 检测两个字符串是否相等
s.equals(t)  // 若字符串s与t相等,则返回true;否则,返回false。
// 检测是否相等,且不区分大小写,使用equalsIgnoreCase方法
"HeLLo".equalsIgnoreCase("hello")

1.4 空串与Null串

空串 "" 是长度为0的字符串。

// 判断字符串是否为空
if(str.length()==0) 或 if(str.equals(""))
//判断字符串是否是null值
if(str==null)
//检查字符串既不是null也不为空串
if(str!=null && str.length()!=0)

2 scanner交互

想通过控制台输入,需要构造一个scanner对象,与“标准输入流”System.in关联。Scanner类定义在java.util包中。

import java.util.*
Scanner in = new Scanner(System.in);
// nextLine方法将输入一行(在输入行中有可以包含空格)
String name = in.nextLine();
// 读取单词(遇空格则停止)
String fistname = in.next();
// 读取一个整数
int age = in.nextInt();
// 读取一个浮点数
Double d = in.nextDouble();

.next()与.nextline() 方法的区别实例:

//创建一个扫描器对象,用于接收键盘数据
Scanner scanner = new Scanner(System.in);
System.out.println("使用next方式接收输入:");
//判断用户有没有输入字符串
if(scanner.hasNext()){
    //使用next方式接收
    String str = scanner.next();
    System.out.println("输出的内容为:"+str);
}
//凡是属于IO流的类若不关闭则会一直占用资源,因此用完就关。
scanner.close();

run:
使用next方式接收输入:
Hello world!
输出的内容为:Hello
//创建一个扫描器对象,用于接收键盘数据
Scanner scanner = new Scanner(System.in);
System.out.println("使用nextLine方式接收输入:");
//判断用户有没有输入字符串
if(scanner.hasNextLine()){
    //使用next方式接收
    String str = scanner.nextLine();
    System.out.println("输出的内容为:"+str);
}
//凡是属于IO流的类若不关闭则会一直占用资源,因此用完就关。
scanner.close();

run:
使用nextLine方式接收输入:
提莫开始学java啦  好开心~
输出的内容为:提莫开始学java啦  好开心~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值