import java.lang.String;
import java.util.Scanner; public class Main {
public static void main(String[] args) {
//方式一:会创建两个字符串对象(会在字符串常量池中也存一份)
String a = new String("dining1");
//【尽量使用这种方式】方式二:最多创建一个字符串对象。(在字符串常量池中找有没有,有则直接指过去,否则创建,然后指过去。)
String a1 = "dining2";
System.out.println(a+" "+a1); //case 1:
String b = "b1";
String b1 = "b"+1;
System.out.println(b==b1); //b和b1在编译期间就已确定,都指向常量池的同一块地方 //case 2:
String c = "c1";
int t1 = 1;
String c1 = "c"+t1;
System.out.println(c==c1); //c1在运行期才确定 //case 3:
String d = "d1";
final int t2 = 1;
String d1 = "d"+t2;
System.out.println(d==d1); //t2在编译期就已确定 //case 4:
String e = "e1";
final int t3 = getE();
String e1 = "e"+t3;
System.out.println(e==e1); //t3在运行期才确定
}
public static int getE(){
return 1;
}
}
import java.lang.String;
import java.util.Scanner; public class Main {
//更多String类的属性和方法查Java手册
public static void main(String[] args) {
String s = "abcdefg";
char c = s.charAt(s.length()-1);
System.out.println(c); //把字符串转换成字符数组
char [] cs = s.toCharArray();
System.out.println(cs.length);
for(int i=0;i<cs.length;++i) System.out.print(cs[i]+" "); System.out.println(); byte[] bytes = s.getBytes(); //字节数组
System.out.println(bytes.length);
for(int i=0;i<bytes.length;++i) System.out.print(bytes[i]+" "); System.out.println(); String ss = "我是一棵白菜";
String ke1 = ss.substring(1,3); //[1,3)
System.out.println(ke1); //.......
}
}
/**
* 对象的一对一关系
*/
public class Main {
public static void main(String[] args) {
Husband h = new Husband("fish7");
Wife w = new Wife("dining");
h.wife = w;
w.husband = h;
System.out.println("I'm "+h.name+". My wife is "+h.wife.name);
System.out.println("I'm "+w.name+". My husband is "+w.husband.name);
}
} class Husband{
String name;
Wife wife; //关联妻子类
public Husband(){};
public Husband(String name) { this.name = name; }
}
class Wife{
String name;
Husband husband; //关联丈夫类
public Wife(){};
public Wife(String name) { this.name = name; }
}

JAVA笔记3__字符串String类/对象一对一关联的更多相关文章

  1. 菜鸡的Java笔记 第十三 String 类的两种实例化方法

    String 类的两种实例化方法 String 类的两种实例化方式的区别 String 类对象的比较 Stirng 类对象的使用分析 /*    1.String 类的两种实例化方式的区别       ...

  2. Effective Java笔记一 创建和销毁对象

    Effective Java笔记一 创建和销毁对象 第1条 考虑用静态工厂方法代替构造器 第2条 遇到多个构造器参数时要考虑用构建器 第3条 用私有构造器或者枚举类型强化Singleton属性 第4条 ...

  3. AJPFX学习笔记JavaAPI之String类

    学习笔记JavaAPI之String类 [size=10.5000pt]一.所属包java.lang.String,没有子类.特点:一旦被初始化就不可以被改变. 创建类对象的两种方式: String ...

  4. 反射消除String类对象的不可变特性

    大家都知道,在JAVA中字符串一旦声明就不可改变,如果尝试修改字符串的内容,将会重新实例化一个新的字符串对象,这也是为了安全性和效率. 由于字符串在程序之中被大量使用,所以JAVA引入了一个字符串常量 ...

  5. 跟着刚哥梳理java知识点——深入理解String类(九)

    一.String类 想要了解一个类,最好的办法就是看这个类的实现源代码,来看一下String类的源码: public final class String implements java.io.Ser ...

  6. Java (六、String类和StringBuffer)

    Java String 类 字符串广泛应用 在Java 编程中,在 Java 中字符串属于对象,Java 提供了 String 类来创建和操作字符串. 创建字符串 // ==比较的是字符串在栈中存放的 ...

  7. Java基础_0307:String类的基本概念

    String类的两种实例化方式 直接赋值: String str = "www.YOOTK.com"; 构造方法: 构造方法:public String(String str),在 ...

  8. 系统类 字符串String类

    java编程语言中的字符串. 在java中,String类是不可变的,对String类的任何改变,都是返回一个新的String类对象. String 对象是 System.Char 对象的有序集合,用 ...

  9. JAVA之等号、传类对象参数与c++的区别

    在JAVA中用等号对类对象进行赋值,实际上操作的是对象的地址. eg: package MyText; class ClassA { int value; public void seta(int v ...

随机推荐

  1. 使用metaweblog API实现通用博客发布 之 本地图片自动上传以及替换路径

    使用metaweblog API实现通用博客发布 之 本地图片自动上传以及替换路径 通过metaweblog API 发布博文的时候,由于markdown中的图片路径是本地路径,将导致发布的文章图片不 ...

  2. Modern PHP 使用生成器yield 处理csv文件 Generator

    * 使用生成器处理csv文件 <?php function getRows($file) { $handle = fopen($file, 'rb'); if ($handle === fals ...

  3. django 如何在HMTL中使用媒体media_url

    django 如何在HMTL中使用媒体media_url中指定的路径 第一种: 一. setting.py里,一般图片或者文件上传路径都是是以下设置, MEDIA_URL = '/media/'    ...

  4. c++ 的学习 第二集函数的重载2 namemangling

    1. 本质 采用了name mangling或者叫name decoration ✓ C++编译器默认会对符号名(比如函数名)进行改编.修饰,有些地方翻译为"命名倾轧"✓ 重载时 ...

  5. 鸿蒙内核源码分析(并发并行篇) | 听过无数遍的两个概念 | 百篇博客分析OpenHarmony源码 | v25.01

    百篇博客系列篇.本篇为: v25.xx 鸿蒙内核源码分析(并发并行篇) | 听过无数遍的两个概念 | 51.c.h .o 任务管理相关篇为: v03.xx 鸿蒙内核源码分析(时钟任务篇) | 触发调度 ...

  6. 鸿蒙内核源码分析(线程概念篇) | 是谁在不停的折腾CPU? | 百篇博客分析OpenHarmony源码 | v21.06

    百篇博客系列篇.本篇为: v21.xx 鸿蒙内核源码分析(线程概念篇) | 是谁在不断的折腾CPU | 51.c.h .o 任务管理相关篇为: v03.xx 鸿蒙内核源码分析(时钟任务篇) | 触发调 ...

  7. AT4144-[ARC098D]Donation【Kruskal重构树,dp】

    正题 题目链接:https://www.luogu.com.cn/problem/AT4144 题目大意 \(n\)个点\(m\)条边的一张无向联通图,每个点有两个值\(a_i,b_i\).表示经过该 ...

  8. JS获取contextPath的方法

    function getContextPath() { var pathName = document.location.pathname;    var index = pathName.subst ...

  9. Windows 11 正式版 Build 22000.194 官方简体中文版、英文版(消费者版、商业版)下载

    昨天阿三正式发布了 Windows 11,版本号竟然是 22000.194,也就是 9 月 16 日的 测试版 22000.194,仅仅是文件改了个名,特别是消费者版本 hash 校验都是一致的. W ...

  10. nsq topic

    与Topic相关的代码主要位于nsqd/topic.go中. 上一篇文字我们讲解了下nsq的启动流程.对nsq的整体框架有了一个大概的了解.本篇文章就是由大到小.对于topic这一部分进行详尽的讲解. ...