零基础学Java语言-浙江大学-翁恺-第6周 使用对象_学习笔记

1.字符类型

1.1字符类型

  • 单个的字符是一种特殊的类型:char

    • 用单引号表示的字符:‘a’,‘1’

    • Java使用Unicode来表示字符,可以表达包括汉字在内的多种文字

1.1.1字符计算

char c = 'A';
c++;
System.out.println(c);

输出结果为:B

int i = 'Z'-'A';
System.out.println(i);

输出结果为:25
  • 一个字符加一个数字得到Unicode码表中的那个数之后的字符

  • 两个字符的减,得到它们在表中的距离

  • char也可以和int之间相互赋值

1.1.2大小写转换

  • 字母和数字在Unicode表中是顺序排列的
  • ‘a’-'A’可以得到两段之间的举例,
    • a+‘a’-'A’可以把一个大写字母变成小写字母

1.1.3字符大小

  • 字符可以比较大小,依据是它们在Unicode表中的编号
    • 0>9
    • A>Z
    • a>Z

1.2逃逸字符

  • 用来表达无法印出来的控制字符或特殊字符,它由一个反斜杠""开头,后面跟上另一个字符,这两个字符合起来,组成了一个字符
字符意义字符意义
\b回退一格"双引号
\t到下一个表格位单引号
\n换行\反斜杠本身
\r回车

2.包裹类型

2.1包裹类型

基础类型包裹类型
booleanBoolean
charCharacter
intInteger
doubleDouble

2.1.1包裹类型的用处

  • 获得该类型的最大最小值

    Integer.MIN_VALUE
    Integer.MAX_VALUE
    

在这里插入图片描述

2.2Math类

3.字符串

  • 用双引号括起来的0个或多个字符就是一个字符串字面量
    • “hello”
    • “1”

3.1字符串变量

  • String s;
  • String是一个类,String的变量是对象的管理者而非所有者
    • 类似于数组变量是数组的管理者而非所有者

3.1.1 new=创建

String s = new String("a string");
  • 创建了一个String的对象
  • 用"a string"初始化这个对象
  • 创建管理这个对象的变量s
  • 让s管理这个对象

在这里插入图片描述

3.1.2 字符串连接

  • 用加号(+)可以连接两个字符串
    • “hello”+“world”–>“helloworld”
  • 当这个+的一边是字符串而另一边不是时,会将另一边表达为字符串然后做连接
    • "I’m "+18–>“I’m 18”
    • 1+2+“age”–>“3age”
    • “age”+1+2–>“age12”

3.1.3 输入字符串

in.next();
  • 读入一个单词,单词的标志是空格、tab、换行
in.nextLine();
  • 读入一整行

3.1.4 字符串变量

在这里插入图片描述

  • 字符串变量中,a、b是管理者,不是所有者。b=a是b和a都管理a的字符串
  • int变量中,a、b是所有者,b=a是改变本身

3.1.5 比较两个String

if(input == "bye"){
    ...
}
  • ==比较是否同一个
if(input.equals("bye")){
    ...
}
  • equals比较内容是否相同

3.2 字符串操作

  • 字符串是对象,对它的所有操作都是通过"."这个运算符来进行的
    • 字符串.操作
  • 它表示对.左边的这个字符串做右边的那个操作
  • 这里的字符串可以是变量也可以是常量

3.2.1 Strings大小的比较

  • 两个字符串可以比较大小:
s1.compareTo(s2)

如果s1比s2小,那么结果是负的;

如果s1和s2相等,那么结果是0;

如果s1比s2大,那么结果是正的;

compareToIgnoreCase//可以不区分大小写地比较大小

3.2.2 获得String的长度

String name = "Hello";
name.length();

3.2.3 访问String里的字符

s.charAT(index)
  • 返回在index上的单个字符
  • index的范围是0到length()-1
  • 第一个字符的index是0,和数组一样
  • 但是不能用for-each循环来遍历字符串

3.2.4 得到子串

s.substring(n)
  • 得到从n号位置到末尾的全部内容
s.substring(b,e)
  • 得到从b号位置到e号位置之前的内容

3.2.5 寻找字符

s.index0f(c)
  • 得到c字符所在的位置,-1表示不存在
s.index0f(c,n)
  • 从n号位置开始寻找c字符
s.index0f(t)
  • 找到字符串t所在的位置
s.lastIndex0f(c)
s.lastIndex0f(c,n)
s.lastIndex0f(t)
  • 从右边开始找,各部分同上

3.2.6 其它String操作

s.startsWith(t)
s.endsWith(t)
s.trim()
s.replace(c1,c2)
s.toLowerCase()
s.toUpperCase()

3.2.7 不可变的String

  • 所有的字符串都是不可变的,对它们的操作的结果是制造新的字符串出来
String s = "abc";
System.out.println(s.toUpperCase());
System.lut.println(s);

3.2.8 在switch-case中使用字符串

switch(s){
        case "this"....break;
        case "that"....break;
}

.7 不可变的String

  • 所有的字符串都是不可变的,对它们的操作的结果是制造新的字符串出来
String s = "abc";
System.out.println(s.toUpperCase());
System.lut.println(s);

3.2.8 在switch-case中使用字符串

switch(s){
        case "this"....break;
        case "that"....break;
}
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值