Java笔记二——认识对象
来源:互联网 发布:1-10阶乘分之一编程 编辑:程序博客网 时间:2024/04/29 01:17
两种类型系统
基本类型
类类型
2.1 定义类
类(Class)->对象(Object)
抽象 –> 实例
class Clothes { String color; char size;}Clothes c1; //声明参考名称、参考变量或者叫参考new Clothes(); //新建一个对象Clothes c1 = new Clothes(); //将c1名称参考至新建对象
Field.java
package openhome.cc;class Clothes { String color; char size; //构造函数 Clothes(String color, char size){ this.color = color; this.size = size; }}public class Field { public static void main(String[] args) { Clothes sun = new Clothes("red",'S'); System.out.printf("sun ( %s %s )%n", sun.color, sun.size); }}
2.2标准类
java.util.Scanner
import java.util.Scanner;Scanner scanner = new Scanner(System.in);int a = scanner.nextInt();//看标准输入中,有没有输入下一个字符串(以空格或换行符分隔),若有尝试将其剖析为int类型//同理还有nextLong(), nextFloat(), nextDouble(), nextBoolean()
java.math.BigDecimal类得到想要的精确度
import java.math.BigDecimal;BigDecimal rand1 = new BigDecimal("1.0");BigDecimal rand2 = new BigDecimal("0.8");BigDecimal result = rand1.subtract(rand2);
2.3 对象指定与相等
== 是否绑定在同一对象上
equal 是否所绑定的对象的内含值相同
BigDecimal rand1 = new BigDecimal("1.0");BigDecimal rand2 = new BigDecimal("1.0");System.out.printf(a == b); //显示falseSystem.out.printf(a.equal(b)); //显示true
2.4基本类型打包器(Wrap)
基本类型:效率高
类类型:可以携带更多信息
基本类型打包器都归类于 java.lang
int data = 10;Integer wrapper = new Integer(data);System.out.print(data/3); //基本类型操作System.out.print(wrapper.doubleValue()/3); //操作打包器方法
自动装箱,拆箱
Integer data1 = 10; //自动装箱int i = 10;Integer warpper1 = i; //自动装箱Number number = 3.14f; //一般用Number类来自动装箱Integer wrapper2 =10; //自动装箱int foo = wrapper2; //自动拆箱
2.5 数组对象
数组在java中就是对象,数组一旦建立,长度就固定
2.5.1 一维数组
int[] scores = {88, 95, 63, 98, 85, 92}; //声明+初始化// int[]进行申明,在内存中分配长度为6的int连续空间,各个空间都给索引,索引从0开始,由于长度为6,最后一个所以为5int[] ages = new int[6]; //声明,后面可以赋值//int[] ages = new int[] {14,14,13,15,15,14};//声明后直接赋值int height = new int(183);for(int i; i < scores.length; i++) //score是对象,length是属性,不像c++是函数{ System.out.printf("学生分数:%d %n",scores[i]);}增强版forfor(int score : scores) { System.out.printf("学生分数:%d %n",score); }
2.5.2 二维数组
int[][] cords= { {1,2,3}, {4,5,6} };int[][] cords = new int[2][3];
2.5.3数组复制
int[] scores1 = {88, 95, 63, 98, 85, 92};int[] scores2 = score1; //并非数组复制
并非数组复制,需要用for循环,或Arrays.copyof(array,length),如下所示
import java.util.Arrays;int[] scores1 = {88, 95, 63, 98, 85, 92};int[] scores2 = Arrays.copyOf(scores1,scores1.length);for(int score:scores2) { System.out.printf("%3d", score);}
2.6 浅层赋值和深层赋值
class Clothes { String color; char size; Clothes(String color, char size){ this.color = color; this.size = size; }}Clothes[] c1 = {new Clothes("red",'S'), new Clothes("blue", 'M')};Clothes[] c2 = new Clothes[c1.length];for(int i=0; i < c1.length; i++){ //c2[i] = c1[i]; //浅层赋值,参考索引 Clothes c = new Clothes(c1[i].color, c1[i].size); //深拷贝,需要自己来赋值元素 c2[i] = c; }
2.6 字符串
char[] name= {'j', 'u', 's', 't', 'i', 'n'};String name2 = new String(name);String name3 = new String(name);System.out.println(name2 == name3); //false,对象不同String name1 = "justin";String name4 = "justin";System.out.println(name1 == name4); //true//以""包括的字符串,只要内容相同,无论在程序中出现几次,JVM都只建立一个String实例String name5 = name1;String name6 = name4;System.out.println(name5 == name6); //true
字符串对象一旦建立,就无法更改对象中的任何内容
但可以使用+
String str1 = "hello";String str2 = str1 + "world";
2.7 Java API
http://www.oracle.com/technetwork/cn/java/javase/downloads/index.html
点击右上方的 Java SE
阅读全文
0 0
- Java笔记二——认识对象
- [JAVA学习笔记] 第四章 认识对象
- java模式笔记 (二)—— 对象原则
- Java入门笔记二——类和对象
- Java学习笔记(二)——类和对象
- java学习笔记(二)——对象扩展
- java 虚拟机学习笔记(二)—对象访问
- java面向对象(二) 初步认识封装性
- 重新认识java(二) ---- 面向对象之封装!
- JAVA学习笔记—对象
- 黑马程序员——Java要点笔记——面向对象(二)
- 《Thinking in Java》学习笔记(二)——万事万物皆对象
- 【java】jvm调优笔记(二)—— GC策略&内存申请、对象衰老
- 【Java】深入理解JVM学习笔记(二) —— 对象
- 二.一切都是对象——Java编程思想第4版学习笔记
- 小白Java笔记——理解面向对象(二)
- Java的“对象思想”学习笔记[二]
- 牛逼笔记:java面向对象二
- 自定义圆形,可根据鼠标移动,按下移动抬起事件
- ACM模板整理(精心准备,持续更新中)
- Effective Java
- Python3之Django Web框架分页多页码处理二
- AsyncTaskDemo
- Java笔记二——认识对象
- 数据库的四种语言
- 数据结构实验之二叉树四:(先序中序)还原二叉树
- JAVA作业
- 图
- vue + Echarts 填坑记(Echarts数据量大,导致浏览器卡顿)
- Android自定义View---画圆
- 避免使用vector<bool>
- Android --- WebView -- 混合开发(一)