java小白训练营day03-数据结构:jUnit+基本类型+包装类型+数组+对象

云惠网小编 2021年7月29日11:18:32
评论
5755字阅读19分11秒
摘要

数据结构java编程语言,程序旧程序:两大核心组成:数据结构+算法(语言自身 c/java)新程序:数据结构+算法(已经不是重点)+框架+架构框架:mvc框架,新三大框架 springmvc+spring+mybatis架构:分布式架构、微服务架构、开发运维一体化架构、大数据架构、人工智能数据结构:10+201)10怎么表达?20怎么表达? int a = 10; int b = 20; float c = 1.0;数据结构,必须用合适的内容来承接2)+怎么表达? 运算符(算法)3)

广告也精彩

对象

byte b1 = 10; 基本类型是没有额外方法,需要自己写
Byte b2 = 10; 包装类型,把基本类型封装成对象,对象就拥有了额外方法,开发起来就更加简单
包装类型是基本类型还是引用类型?包装类型是引用类型。

4个整型,2个浮点,2个特殊
bit 比特0和1,1 byte=8 bit,8位
最小单位:计算机最小单位 bit,编程语言的最小单位 byte
10计算机怎么表达?二进制

ASCII表太小了,无法表达更复杂
西欧 ISO-8859-1 256字,英文,
中文 10w,6w GB2312/GBK 国标
全球的文字 unicode 字符集,编码方式UTF-16,UTF-32,UTF-8 压缩版(1~4)

java中数据机构分几类?

数据结构:
10+20
1)10怎么表达?20怎么表达? int a = 10; int b = 20; float c = 1.0;
数据结构,必须用合适的内容来承接
2)+怎么表达? 运算符(算法)
3)执行

package cn.tedu.data.pojo;
//定义实体对象:人
/*
* 标准结构有两部分:
* 1)属性(字段):姓名、性别、年龄、地址
* 2)方法(函数):吃、玩
*/
public class Person {
//方法体内声明变量局部变量,类体内声明变量成员变量
//属性(习惯大写,包装类型)
public String name;	//姓名
public Boolean sex;	//性别
public Integer age;	//年龄
public String address;	//地址
//方法
public void eat() {
System.out.println("吃遍天下美食");
}
public void play() {
System.out.println("玩遍天下无敌手");
}
}

?为什么java这么强调对象?为什么需要所有类都去继承 Object呢?
因为对象可以表达万物,java对Object增加了很多方法。toString() java直接提供。
1)基本类型和包装类型只能表达一个值(有局限)
2)数组只能表达一组一个类型的值(有局限)
人:姓名(字符串)、性别(布尔)、年龄(整型)、成绩(浮点数组)、儿子;表达万物,把生活中的都可以 抽象出来,使用计算机进行出来。
C语言面向过程设计思想,java语言面对对象的设计思想。

1)找到jar支持,jar因为开发工具都支持,eclipse自带,[email protected],在项目中只需要一次
2)在类中导包 import org.junit.Test; 导入Test.class
3)在测试方法上戴帽子 @Test
4)RunAs/Junit Test

package cn.tedu.data;
//不在同一个目录,就需要导包
import org.junit.Test;
import cn.tedu.data.pojo.Person;
//测试类人,调用Person类
//蓝图:类,类定义
//实现:new 对象,创建实例 instance
//格式:类名 对象实例名称 = new 类名();
public class TestPerson {
@Test
public void obj() {
//1.创建对象实例
Person person = new Person();
//2.给属性赋值,使用点操作符获取属性
person.name = "詹姆士邦德";
person.sex = true;	//true男false女
person.age = 70;
person.address = "英国伦敦军情六处";
//3.访问属性
System.out.println(person.name);
System.out.println(person.sex);
System.out.println(person.age);
System.out.println(person.address);
//4.调用方法,实例名称.方法名
person.eat();
person.play();
//再创建对象
Person p2 = new Person();
p2.name = "邦德女郎";
p2.age = 18;
System.out.println(); //空行
System.out.println(p2.name);
System.out.println(p2.age);
p2.play();
}
}

无论是基本类型,还是包装类型,它们都只能表达一个值
int i = 10;
Integer i = new Integer(10);
需求:表达一组值
这就是数组

两种运行方式,main和junit有什么不同?

package cn.tedu.data;
import java.util.Arrays;
import org.junit.Test;
//数组,属于引用类型,对象,对象初始值null
public class TestArray {
@Test
public void array() {
//需求:科目:语文、数学、英语、物理、化学
//1、数组的定义
String[] courses = new String[5];
//2、给数组的每个元素去设置值
//获取第一个元素,下标方式,java下标从0开始
System.out.println(courses[0]);
courses[0] = "语文";  //给第一个元素赋值
System.out.println(courses[0]);
courses[1] = "数学";
courses[2] = "英语";
courses[3] = "物理";
courses[4] = "化学";
System.out.println(courses[4]);
//简洁定义和赋值一起方式,常用
String[] c2 = {"语文","数学","英语","音乐","体育","歌舞"};
System.out.println("数组长度:"+ c2.length);
System.out.println("第一个元素:"+ c2[0]);
//代码尽量不要写死
System.out.println("最后一个元素:"+c2[c2.length - 1]);
System.out.println("最后一个元素:"+c2[4]);
}
@Test
public void grade() {
//需求:语文100,数学90,英语60,物理80,化学98
int[] g = {100,90,60,80,98};
//1、总分
int sum = g[0]+g[1]+g[2]+g[3]+g[4];
System.out.println("总分:" + sum);
//2、平均分
int avg = sum/g.length;
System.out.println("平均分:" + avg);
//打印,默认打印不是内容,而是[[email protected],代表内存所在地址
//每个机器打印的内存地址不同!
System.out.println(g);
//java提供专门操作数组的工具类:Arrays.toString()
System.out.println( Arrays.toString(g));  //把数组变成字符串打印
//排序后,原来的数组就被覆盖
Arrays.sort(g); //升序
System.out.println( Arrays.toString(g));
//3、最高分,升序排序后,最后的值
System.out.println("最高分:"+g[g.length-1]);
//4、最低分,升序排序后,第一个的值
System.out.println("最低分:"+g[0]);
}
}

小结

为什么需要包装类型?

有了ASCII码表人类就开启和计算机沟通交流的先河,主流unicode字符集,utf-8就是主流的编码方式,
它之前全球的语言。

基本类型

对象

类和对象

预先定义“密码本”,把键盘上09,az。。。可见的字符和不可见都进行编码,总共128个字符
0~127。
char就有一个特性,'a’就可以97整数来替代。a是人类语言,97人类的语言,0110 0001机器的语言。
a转化97整数,整数可以转换为二进制,机器就可以识别。
相当于人类和机器语言互通。

通过java得到所有基本类型的取值范围
基本类型不属于对象,它无法去得到额外方法,例如最大值和最小值。
java为把这些基本类型转化对象,而为它们提供包装类型,转化基本类型为对象。
有了这些包装类型,它会增强我们代码,会额外提供很多方法,开发更加快捷!
java对每个基本类型都进行封装,都有对应包装类型(8个)
1)byte Byte
2)short Short
3)int Integer
4)long Long
5)float Float
6)double Double
7)char Character
8)boolean Boolean

ASCII码表

基本类型和包装类型都只能表达单个值,如果很多值采用数组
int[] arr1 = new int[10];
数组是引用类型,数组的元素是int基本类型
int[] arr2 = {1,2,3,43,4}; 简写
1)数组长度:arr2.length 属性
2)数组的下标:arr2[0],下标从0开始
3)数组第一个元素访问:arr2[0]
4)数组最后一个元素方法:arr2[ arr2.length-1 ]
工具类:Arrays
5)数组打印,不是打印地址,打印内容:Arrays.toString()
6)数组排序:Arrays.sort,副作用,覆盖原有数组

1)基本类型:8种基本类型,int,float
2)引用类型:除了基本类型就是引用类型,String

数据结构

怎么使用Junit单元测试

1)byte 字节,1byte=2^8=256
2)short 短整型,2byte,2^16=65536
3)int 整型,4byte,2^32,42亿
4)long 长整型,8byte,2^64
5)float 单精度浮点数,4byte,2^32
6)double 双精度浮点数,8byte,2^64
7)char 字符型,2byte,2^16,1~4byte ASCII-UTF-8
8)boolean 布尔型,true/false 1byte,2^8

java编程语言,程序
旧程序:两大核心组成:数据结构+算法(语言自身 c/java)
新程序:数据结构+算法(已经不是重点)+框架+架构
框架:mvc框架,新三大框架 springmvc+spring+mybatis
架构:分布式架构、微服务架构、开发运维一体化架构、大数据架构、人工智能

java中所有的类都是Object的子类,
对象的表现力非常方法,支持各种类型,支持各种方法,最终可以抽象生活中的万物。

java中数据结构分类:2类,基本类型(8个),引用类型(非基本类型,数组,对象person)

1)不能互相替代,main是java自身提供,它的本意是类进行执行。执行入口,不可替代
junit只测试而生,它不给用户,它只对开发者有效
2)在一个类中main方法只有一个,而单一测试方法很多。
3)main方法格式固定,方法名必须main;单元测试方法名随便起,不固定
4)运行的菜单,main菜单java application;单元测试 junit Test
5)main是java直接提供,junit是第三方公司提供

package cn.tedu.data;
import org.junit.Test;
//8个基本类型
public class TestPrimiry {
@Test	//需求:100用什么类型 byte?200用什么类型 short?
public void number() {
//java中默认写一个整数,默认int类型
//Type mismatch 类型不匹配
//cannot convert from int to byte
//byte b = (byte)200;		//强制转换 -56,256/2=128
byte b = 100;
System.out.println(b);
short s = 200;
System.out.println(s);
}
}

包装类型

数组

在java中万物皆对象,对象是Java中一等公民
java中创建的类,都是Object的子类
java中如果创建一个类,明确声明extends Object,或者不写,java会默认就继承Object类。

package cn.tedu.data;
import org.junit.Test;
//得到所有包装类型的取值的范围
public class TestScope {
@Test
public void scope() {
//字节型取值范围:-128~127
System.out.println("字节型取值范围:"
+Byte.MIN_VALUE+"~"+Byte.MAX_VALUE);
//短整型取值范围:-32768~32767
System.out.println("短整型取值范围:"
+Short.MIN_VALUE+"~"+Short.MAX_VALUE);
//整型取值范围:正负21亿
System.out.println("整型取值范围:"
+Integer.MIN_VALUE+"~"+Integer.MAX_VALUE);
System.out.println("长整型取值范围:"
+Long.MIN_VALUE+"~"+Long.MAX_VALUE);
//单精度浮点数范围:1.4E-45~3.4028235E38,科学计数法
System.out.println("单精度浮点数范围:"
+Float.MIN_VALUE+"~"+Float.MAX_VALUE);
System.out.println("双精度浮点数范围:"
+Double.MIN_VALUE+"~"+Double.MAX_VALUE);
}
}

基本类型

需求:人:姓名(字符串)、性别(布尔)、年龄(整型)

类:蓝图(图纸)一张
对象:具体楼(实体)多栋
创建方法:格式:类名 实例名 = new 类名();
Person person = new Person();
Cat cat = new Cat();
Car car = new Car();
Car baomaCar = new Car();
Car benchiCar = new Car():

需求:100用什么类型存储?200用什么类型存储?

数组

本文转自 https://blog.csdn.net/nutony/article/details/119106821

腾讯云618
云惠网小编
Java—代码块详解 java

Java—代码块详解

代码块概念代码块分类普通代码块构造代码块静态代码块同步代码块代码块概念在java中,{ } 括起来的代码被称为代码块代码块分类普通代码块类中方法的方法体public class M...
腾讯云618

发表评论