廖雪峰Java-1程序基础-8字符和字符串

1.字符类型char

  • char是基本的数据类型
  • char:保存一个字符,如英文字符、中文字符。
  • Java使用unicode表示字符,可以将char赋值给int类型,查看字符对应的unicode编码。
  • 使用16进制的unicode编码定义字符
        char c1 = ‘A‘;
        char c2 = ‘中‘;
        int n1 = c1;//65
        int n2 = c2;//20013
        System.out.println(n1+"\t"+n2);
        System.out.println(Integer.toHexString(n1)+"\t"+Integer.toHexString(n2));
        //注意是16进制
        char c3 = ‘\u0041‘;
        char c4 = ‘\u4e2d‘;
        System.out.println(c3+"\t"+c4);

2.字符串类型

2.1字符串定义

定义字符串:String name;

  • 字符串类型是引用类型
  • 字符串类型用双引号表示,但内容不包括双引号
  • 转译字符
  • 常见转译字符:\n " \r \t \
        String s1 = "ABC";//3
        String s2 = "中文str";//5
        String s3 = "Hello\n";//6
        String s4 = "\"Hello\"";//7
        System.out.println(s1.length());
        System.out.println(s2.length());
        System.out.println(s3.length());
        System.out.println(s4.length());

2.2字符串操作

  • 字符串连接用+
  • 可以连接字符串和其他数据类型字符串
        String s= "hello";
        System.out.println(s);
        String h = "hello, "+ "world!";
        System.out.println(h);
        String a = "age is "+ 12;
        System.out.println(a);

2.3字符串是引用类型

  • 字符串不是基本类型
  • 字符串是引用类型
  • 字符串不可变

    引用类型是变量指向某个对象,而不是持有某个对象。

    ‘‘‘#java

    String s= "hello";

    String t = s;

    s = "world!";

    System.out.println(s);

    System.out.println(t);

    ```

    Intellij单步执行

3.空值

所有的引用类型都可以指向空值null,即不指向任何对象。

空字符串和空值不一样

String a = null;
        String b = "";
        System.out.println("a:"+a);
        System.out.println("b:"+b);

4.总结:

  • 区分字符类型(基本类型)和字符串类型(引用类型)
  • 基本类型的变量是持有某个数值
  • 引用类型的变量是指向某个数值
  • 引用类型的变量可以是null
  • 区分空值(null)和空字符串("")

原文地址:https://www.cnblogs.com/csj2018/p/10247099.html

时间: 2024-10-30 05:10:46

廖雪峰Java-1程序基础-8字符和字符串的相关文章

JAVA并行程序基础

JAVA并行程序基础 一.有关线程你必须知道的事 进程与线程 在等待面向线程设计的计算机结构中,进程是线程的容器.我们都知道,程序是对于指令.数据及其组织形式的描述,而进程是程序的实体. 线程是轻量级的进程,是程序执行的最小单位.(PS:使用多线程去进行并发程序的设计,是因为线程间的调度和切换成本远小于进程) 线程的状态(Thread的State类): NEW–刚刚创建的线程,需要调用start()方法来执行线程: RUNNABLE–线程处于执行状态: BLOCKED–线程遇到synchroni

第四天:C基础之字符与字符串

今天老师主要是通过练习程序来讲解字符和字符串,所以这次日志也是通过分析代码来总结所学知识. 首先是复制字符 ,要注意'\0'的存在.使用循环时,一般用‘\0’进行退出判断条件. #include<stdio.h> int copy(char *n,char *m); int main() { char arr[] = {"hello"}; char brr[10]; printf("%d\n",sizeof(arr)); /* int i; for(i=

Java入门:基础算法之从字符串中找到重复的字符

本程序演示从一个字符串中找出重复的字符,并显示重复字符的个数. import java.util.HashMap; import java.util.Map; import java.util.Set; public class Details { public void countDupChars(String str){ //创建一个HashMap对象 Map<Character, Integer> map = new HashMap<Character, Integer>()

java并发程序基础——BlockingQueue

概述 BlockingQueue顾名思义'阻塞的队列',是指在它上面的操作都是被阻塞的(部分操作存在例外,如add等).BlockQueue是java.util.concurrent工具包的重要基础工具,在ThreadPoolExcutor及tomcat等服务端容器中都有使用到. BlockingQueue的分类 按照对象存放的数据结构分类 BlockingQueue中的对象可以存放在:数组.链表中,对应的就是ArrayBlockingQueue.LinkedBlockingQueu: Bloc

Java并行程序基础总结

1-1 线程概念 1. 同步(Synchronous)和异步(Asynchronous) 2. 并发和并行 3. 临界区 4. 阻塞与非阻塞 5. 死锁.饥饿.活锁 6. 并发级别:阻塞.无饥饿.无阻碍.无锁.无等待 7. 并发的两个重要定律:Amdahl.Gustafson定律 2-1.线程的基本操作 2.1 创建线程 创建线程的第一种方式:继承Thread类. 步骤: 1,定义类继承Thread. 2,复写Thread类中的run方法. 目的:将自定义代码存储在run方法.让线程运行. 3,

Java并发程序基础

Thread.stop() 直接终止线程,并且会立即释放这个线程所持有的锁. Thread.interrupt() 并不会是线程立即退出,而是给线程发送一个通知,告知目标线程,有人希望你退出啦,至于目标线程接到通知后会如何处理,则完全由目标线程自行决定. Thread.sleep() 使当前线程休眠若干时间,如果线程sleep时被中断,就会产生InterruptedException wait()和notify()方法不属于Thread,而是Object T1 T2 获取object监视器 Ob

java并发程序基础——Excutor

概述 Excutor这个接口用的不多,但是ThreadPoolExcutor这个就用的比较多了,ThreadPoolExcutor是Excutor的一个实现.Excutor体系难点没有,大部分的关键点和设计思路都在javadoc中描述的特别详细,但有必要做一下梳理,以便在后续开发场景中,更好地使用jdk提供的灵活的api. Excutor接口主要用于解耦任务执行者和任务发起者,jdk8的javadoc写的非常详细.因此,Excutor这个系列的类都冲着这个目标来实现,当然,很多实现类更是在特定的

廖雪峰网站—学习python基础知识(二)

1.list """ Python内置的一种数据类型是列表:list. list是一种有序的集合,可以随时添加和删除其中的元素. """ classmates = ['Michael', 'Bob', 'Mary'] print('classmates', classmates) print('len(classmates)= ', len(classmates)) print('classmates[0]=', classmates[0]) p

廖雪峰JAVA课程中涉及的类定义用省略号代替参数

public class Main { public static void main(String[] args) { // 给一个有普通收入.工资收入和享受国务院特殊津贴的小伙伴算税: Income[] incomes = new Income[] { new Income(3000), new Salary(7500), new StateCouncilSpecialAllowance(15000) }; System.out.println(totalTax(incomes)); } p