一、修饰符
修饰符 类 属性 方法 局部变量
final 可以(不能被继承) 可以(不能被继承) 可以(表示不能被覆盖) 可以(常量)
static 可以(类变量) 可以(静态方法)
abstract 可以(抽象类) 可以(抽象方法)
pulbic 可以 可以 可以
protected 可以 可以
default 可以 可以 可以
private 可以 可以
二、==与equals
基本类型进行值比较时用 ==
对象类型进行值比较时用 equals
写equals方法时:
1、自反性判断 if(this==obj) return true;
2、判断是否为null if(obj==null) return false;
3、判断类型是否兼容 if(!(obj instanceof 类)) return false; 或 if(this.getClass()!=obj.getClass()) return false;
4、强制类型转换,判断每一个属性:简单类型用==,对象类型用.equals
toString()方法: 返回一个字符串
直接输出一个对象时,会自动调用对象的toString()方法,输出toString()的返回值
当没有覆盖toString()方法时,会输出 :对象名@十六进制的地址值
三、main方法的参数
在命令模式下:java MainMethodTest abc def 100
abc是args[0],def是args[2],100是args[3] 都以字符串类型接收
在eclipse下:run ... 先选择主类
四、String类详细介绍
int a=5;
int b=a<<33; 因为33%32=1; 所以左移1位。
所以b=10;
int a=3,b=4,c=5,d=0;
if(a>b)
if(c>d)
d=10;
else
d=20;
结果d=0;
1、String是一个不变模式:不变模式:一个对象一旦产生就不可能再修改(string就是典型的不变模式);通过不变模式可以做到对象共享;
2、如果用Stirng str = “abc”来创建一个对象时,则系统会先在串池中寻找有没有“abc”这个字符串。
如果有则直接将对象指向串池中对应的地址,如果没有则在串池中创建一个“abc”字符串。
所以:String str1 = “abc”;
String str2 = “abc”;
Str1 = = str2 返回值是ture;他们的地址是一样的。
也就是说str1和str2都指向了代码空间中相同的一个地址,而这个地址空间保存就是是字符串”abc”;
如果用String str = new String(“abc”)则直接在堆空间开辟一块存储空间用来存放”abc”这个字符串。
所以:String str1 = new String(“abc”);
String str2 = new String(“abc”);
Str1 = = str2 返回值是false;他们的地址是不一样的。
也就是说str1和str2分别指向了堆空间中不同的两个地址,而这两个地址空间保存的都是字符串”abc”;
3、java.lang下的StringBuffer类。
对于字符串连接
String str=”1”+”2”+”3”+”4”;
产生:
12
123
1234
会在串池中产生多余对象,而真正我们需要的只有最后一个对象,用这种方式进行字符串连接时,不管在时间上还是在空间上都会造成相当大的浪费。
所以我们应该使用 StringBuffer(线程安全的) 或者 StringBuilder(线程不安全的)
解决方案:
String s;
StringBuffer sb = new StringBuffer(“1”);
Sb.append(“2”);
Sb.append(“3”);
Sb.append(“4”);
S = sb.toString();
解决后的方案比解决前在运行的时间上相差2个数量级。
五、包装类
基本类型的包装类,为了提高效率
JAVA为每一个简单数据类型提供了一个封装类,使每个简单数据类型可以被Object来装载。
除了int(Integer)和char(Character),其余类型首字母大写即成封装类类型名。
转换字符的方式:
int I=10;
String s=I+” ”;
String s1=String.valueOf(i);
Int I=10;
Interger I_class=new integer(I);
封装类.字符串.基本类型
三种类型六种转换
new Integer() 或Integer.valueOf()
int--------------------------------------->Integer
i.intValue()
Integer----------------------------------->int
Integer.toString(...) 或 String s=100+" "
int--------------------------------------------------->String
Integer.parseInt("...")
String---------------------------------->int
i.toString()
Integer-------------------------------->String
Integer.valueOf("...") 或new Integer("...")
String------------------------------------------------>Integer
需要了解的方法:
Integer类中:
int intValue()
static int parseInt(String s) 默认为十进制
static int parseInt(String s,int radix) 第二个参数是进制(2--36)
String toString()
static String toString(int i)
static String toString(int i,int radix)
static Integer valueOf(int i)
static Integer valueOf(String s)
static Integer valueOf(String s,int radix)
分享到:
相关推荐
### CoreJava学习笔记 #### 一、JAVA特点与运行原理 **JAVA特点:** 1. **简单性**:Java的设计者们将C++语言中许多不易理解和容易混淆的部分去除,使得Java更容易理解与掌握。 2. **面向对象**:Java几乎一切都...
Java是一种广泛使用的面向对象的编程语言,其基础知识构成了"Core Java"的学习内容。在学习Java时,遵循"多花时间、多动手、多问题"的原则至关重要,因为理论理解与实践操作相结合能更好地掌握知识。 1. **Java语法...
《Core Java》学习笔记。 我把自己的笔记都以注释的形式写在代码里面了,这样方便理解。 尽管有些部分被标记为“已完成”,但实际上以后说不定我还会折返回来进行修改或者添加一些注释。 当然如果你有什么不理解...
这篇学习笔记主要讨论了Java集合框架,包括Collection、List、Set和Map四大接口以及它们的相关方法。 首先,Collection是所有集合类的顶级接口,它定义了一些基本的操作,如添加元素(add)、获取元素数量(size)、...
Java是一种由Sun Microsystems在1995年推出的高级编程语言,现由Oracle公司维护。...以上就是Core Java学习笔记的主要内容概述,涵盖了从基础语法到高级特性的广泛知识,为深入理解和应用Java打下了坚实的基础。
《CoreJava学习笔记》 Java,作为一种广泛使用的高级编程语言,以其独特的特性和优势深受开发者喜爱。本学习笔记旨在深入浅出地介绍Java的核心概念,帮助初学者快速掌握这一强大的工具。 1. Java特点 Java语法...
Java是世界上最流行的编程语言之一,...以上就是“达内Core Java学习笔记”中涉及的主要知识点。通过深入学习和实践,初学者可以逐步建立起坚实的Java编程基础,并为进一步学习Java的高级特性和框架打下坚实的基础。
### 达内COREJAVA学习笔记知识点详述 #### 一、Java版本与平台概述 - **J2SE**: Java Standard Edition,即Java标准版,针对桌面应用开发。 - **JAVA SE**: 指的是Java SE 5.0,发布于2004年,增加了泛型、枚举等...
### Java学习笔记及心得知识点详细解析 #### 标题:Java学习笔记及心得 #### 描述:Core Java 学习笔记及心得 pdf格式可打开。涵盖了java的基础入门知识,非常适合自学的及想深入学习理解的同学。 #### 标签:...
【Java学习笔记全套】是针对Java编程语言的一套全面学习资料,涵盖了Unix操作系统基础、SQL数据库操作、核心Java编程、Hibernate持久化框架、以及Spring框架等多个关键知识点。这些笔记旨在帮助初学者系统地掌握Java...
### CoreJava 学习笔记概览 #### 编译与运行 Java 程序 **编译命令**:`javac` - **基本语法**:`javac ***.java` - **命令行参数**: - `-g`:生成所有调试信息。 - `-g:none`:不生成任何调试信息。 - `-...
NULL 博文链接:https://thoughtfly.iteye.com/blog/1045791
在Java编程语言中,SortedSet接口是Set接口的一个子接口,它添加了对集合元素排序的能力。SortedSet接口要求其实现类必须维护元素的排序顺序,这种顺序可以是元素的自然顺序(即元素自身可比较),也可以是通过提供...
本压缩包中的"CoreJava学习笔记.txt"文件是Java核心概念的精华集锦,对于任何想要深入学习Java的人都是宝贵的资源。 首先,Java的基础部分包括语法、数据类型、变量、运算符以及控制流程。Java有两大类数据类型:...
Core Java学习笔记...........31 第一章 JAVA前言..31 第二章 标识符,关键字,类型........35 第三章 表达式与流控制....................41 第四章 数组.............50 第五章 对象和类(OO思想).........53 第...
这份"java学习笔记(corejava)部分.rar"文件很显然是针对Java初学者或者希望巩固基础知识的开发者准备的。下面我们将深入探讨Java Core的一些关键知识点。 1. **Java基础**:Java是一种面向对象的编程语言,其设计...
CoreJava_day11的学习笔记主要涵盖了集合框架,特别是关于List、Set和Map接口,以及ArrayList、Vector和LinkedList等具体实现类的知识点。 首先,集合框架是用来存放对象的对象,它提供了一组接口和类,使得我们...