Java基础3-数组操作;类概述
昨日内容回顾
数据类型
基本数据类型
1) byte, short, int, long, float, double
2) boolean[true, false]
3) char
100: 默认为int
1.2: 默认为double引用类型
1) class
2) interface
3) [],数组
函数
作用: 封装功能代码
不能嵌套定义
函数的结果返回给调用者
函数定义格式
[修饰符][返回值类型][函数名](类型1 参数1, 类型2 参数2,...){
}
函数调用格式: 函数名()
函数重载:overload
递归:recursive, 自己调用自己
指针
- java没有指针是指没有显示的指针操作
- 引用就是指针
- 指针是对象的内存地址
堆:heap, Object head
栈:stack, 方法栈
面向过程编程: c, 面向方法。粒度
面向对象: oop, oriented object program.面向对象编程
- 相关概念
1) class : 类,类是对象的抽象, 对现实世界的事物的软件抽象。
2) Object : 对象,对象是类的实例。new 类名
3) instance : 实例. 就是对象。 - 特征
1) 封装
2) 继承
3) 多态
- 相关概念
作业解析
负数的表现形式,为什么如此设计?
补码形式存放,保证正负求和为0-128是在内存中是如何存储的?推算过程?
124 = 0111 1100 | -124 = 1000 0100
125 = 0111 1101 | -125 = 1000 0011
126 = 0111 1110 | -126 = 1000 0010
127 = 0111 1111 | -127 = 1000 0001
| -128 = 1000 0000
如果字节表示为11111111,则其真实数据是多少?
-1正负数是否都支持补码的方式?
1 = 0000 0001 | -1 = 1111 1111
127 = 0111 1111 | -127 = 1000 0001
正数是否是负数的减一取反?
-127 = 1000 0001 --->
1000 0000 --->
0111 1111 = 127 -1 = 1111 1111 --->
1111 1110 --->
0000 0001 = 1
空心三角形
/*
*
* *
* *
******* */
public void printTriAngle(){
int n = 4;
for(int i=1;i<=n;i++) {
for(int j=1;j<=2*n-1;j++) {
if(i==1) {
if(j==n) {
System.out.print("*");
}
else {
System.out.print(" ");
} }
else if(i==n){
System.out.print("*");
}
else {
if(j==(n-i+1) || j==(n+i-1)) {
System.out.print("*");
}
else {
System.out.print(" ");
}
}
}
System.out.println();
}
}
倒三角空心
public void printInverseTriAngle(){
int n=4;
for(int i=1;i<=n;i++) {
for(int j=1;j<=2*n-1;j++) {
if(i==1) {
System.out.print("*");
}
else if(i==n) {
if(j==n) {
System.out.print("*");
}
else {
System.out.print(" ");
}
}
else {
if(j==(n-(-i+n))|| j==(n+(-i+n))) {
System.out.print("*");
}
else {
System.out.print(" ");
}
}
}
System.out.println();
}
}
[定义函数]
add // +
subtract // -
multiple // *
divide // /
支持float,doule,long,int。//函数重载.public int add(int a,int b){
return a+b;
}
public int add(float a,float b){
return a+b;
}
数组
容器,同一种数据类型的集合。
通过下表,以0为基址。
定义数组
类型[] 名称 = new 类型[数字];
类型[] 名称 = new 类型[]{};
int x[] = new int[];
int[][] arr = new int[][];
int[][][] arr = ...数组越界异常:java.lang.ArrayIndexOutOfBoundsException
空指针异常:java.lang.NullPointerException
网络命令
- ipconfig //查看ip地址
- ping 192.168.12.7 //测定指定的地址是否连通
- ping www.baidu.com //测试外网的连通情况
- ping www.baidu.com -t //测试网络持续连通情况
数组的操作
选择排序
//3 1 2 5 4 --->
//1 3 2 5 4 --->
//1 2 3 5 4 --->
//1 2 3 5 4 --->
//1 2 3 4 5
public static void selectSort(int[] arr){
for(int i=0; i<arr.length-1;i++){
for(int j=i+1; j< arr.length;j++){
if(arr[i]>arr[j]){
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
//增强for循环
for(int ii : arr){
System.out.print(ii+" ");
}
System.out.println();
}
冒泡排序
每次都将最大的沉到底部//5 3 4 2 1 --->
//3 4 2 1 5 --->
//3 2 1 4 5 --->
//2 1 3 4 5 --->
//1 2 3 4 5
//arry.length
for(int i=arry.lengh-1;i>0;i--){
for(int j = 0;j<i;j++){
if(arr[j]>arr[j+1]){
int temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
折半查找
在有序的数列中,进行二分法查找,每次取出搜索范围的中间值进行比较,依次再进行范围的缩小,直至找到所需要的值。public static int halfFind(int[] array,int num){
int min = 0;
int max = array.length-1;
while(min<=max){
int mid = (min+max)/2;
//找到了
if(array[mid] == num){
return mid;
} //范围落在左半边
if(array[mid]>num){
max = mid - 1 ;
}
//范围落在右半边
else{
min = mid + 1;
}
}
return -1;
}
类
类的属性也叫成员变量。
类的方法也叫成员函数。
成员变量有默认的初始化值。
局部变量没有默认的初始化值。
构造函数
没有返回值
函数名和类名相同。
默认的构造函数是 ClassName()
匿名对象
this : 关键字,对象内部指向自身的一个指针。
javabean
私有属性;
标准的getter/setter方法.
作业
定义一个函数,函数功能是动态提取int[]中元素的最大值。
定义一个函数,从数组中查询指定的元素首次出现的位置。
定义函数,完成冒泡排序,大数下沉。
折半查找。
定义一个函数,实现矩阵的转置.arr[i][j] == arr[j][i];//前提条件是正方的。
遍历三维组数,横向输出三维数组的每一个层。
定义一个类:Dog 有名称 color age cry();
阐述出来堆区,栈区,何时出现溢出,如何解决。
将一个字节转换成0~255之间的整数:将符号位作为数字位
对数组进行冒泡排序(实现倒序),封装成方法,返回排序后的数组
实现数组的拷贝,将一个数组中的元素复制到另一个数组中,如果元素个数不等,或者截取,或者回绕。
输出整数的二进制表示方式
选择排序
Java基础3-数组操作;类概述的更多相关文章
- Java基础系列-二进制操作
原创文章,转载请标注出处:<Java基础系列-二进制操作> 概述 Java源码中涉及到大量的二进制操作,非常的复杂,但非常的快速. Java二进制表示法 首先了解下二进制,二进制是相对十进 ...
- Java基础-日期格式化DateFormat类简介
Java基础-日期格式化DateFormat类简介 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.DateFormat类概述 DateFormat 是日期/时间格式化子类的抽象 ...
- java 8 Stream中操作类型和peek的使用
目录 简介 中间操作和终止操作 peek 结论 java 8 Stream中操作类型和peek的使用 简介 java 8 stream作为流式操作有两种操作类型,中间操作和终止操作.这两种有什么区别呢 ...
- Java基础---IO(一)---IO流概述、字符流、字节流、流操作规律
第一讲 IO概述 概述 1.IO流:即InputOutput的缩写. 2.特点: 1)IO流用来处理设备间的数据传输. 2)Java对数据的操作是通过流的方式. 3)Java用于操作流的对象都 ...
- java基础之数组常用操作
常用的对数组进行的操作 1.求数组中最大值,最小值 思路:假设下标为0的元素是最大值,遍历数组,依次跟max进行比较,如果有元素比这个max还大,则把这个值赋给max.最小值同样 public cla ...
- Java基础语法(自定义类、ArrayList集合)
Java基础语法 今日内容介绍 u 自定义类 u ArrayList集合 第1章 引用数据类型(类) 1.1 引用数据类型分类 提到引用数据类型(类),其实我们对它并不陌生,如使用过的Scanner类 ...
- Java基础总结--数组
---数组的定义---组织存储一组数据1.存放相同类型数据的集合--就是一种容器本质上变量也是一种容器--区别就是只存储了一个数据的容器--面对容器,而不是分散的数据eg.买一盘鸡蛋--蛋托其实就是容 ...
- java中的集合操作类(未完待续)
申明: 实习生的肤浅理解,如发现有错误之处.还望大牛们多多指点 废话 事实上我写java的后台操作,我每次都会遇到一条语句:List<XXXXX> list = new ArrayList ...
- Java 基础 常用API (Object类,String类,StringBuffer类)
Java API Java 的API(API: Application(应用) Programming(程序) Interface(接口)) Java API就是JDK中提供给我们使用的类,这些类将底 ...
随机推荐
- jdbc配置Spring
hibernate.properties dataSource.password=123 dataSource.username=root dataSource.databaseName=test d ...
- Tensorflow做阅读理解与完形填空
catalogue . 前言 . 使用的数据集 . 数据预处理 . 训练 . 测试模型运行结果: 进行实际完形填空 0. 前言 开始写这篇文章的时候是晚上12点,突然想到几点新的理解,赶紧记下来.我们 ...
- shop++改造之Filter类
基于shop++源码进行商城改造.本来想大展手脚,结果一入手.发觉瞬间淹没了我的才华,sql语句也得贼溜没啥用. 不得不说这个商城源码价值很高,封装的很精屁. 下面是我第一天入手的坑. 数据库建好了表 ...
- Sqlcmd使用详解
Sqlcmd实用工具,可以输入 TRANSACT-SQL 语句. 系统过程和脚本文件,通过各种可用模式: 通过命令提示符. 在中查询编辑器在 SQLCMD 模式下. 在 Windows 脚本文件. 在 ...
- 简单配置,让ES6脚本在浏览器里飞
如果你只是想学习ES6语法,找个地方练习下写法.不想看环境如何搭配,就想简单的学习,那有两种简单的方式. 1.在Chrome浏览器里直接F12调出控制台 2.在浏览器里跑引用ES6的HTML页面 ...
- udp_connect函数
#include <netdb.h> #include <stdlib.h> #include <unistd.h> #include <string.h&g ...
- httpd.conf文件与.htaccess文件的对比
httpd.conf文件与.htaccess文件相比,Apache对两者的mod_rewrite规则在处理方法上有些细微的差别.在实 际运行时,如果有任何原因使得倾向于使用httpd.conf,都需要 ...
- 在PHP中使用CURL,“撩”服务器只需几行
在PHP中使用CURL,“撩”服务器只需几行https://segmentfault.com/a/1190000006220620 七夕啦,作为开发,妹子没得撩就“撩”下服务器吧,妹子有得撩的同学那就 ...
- CF920E Connected Components?
CF luogu 先讲两个靠谱的做法 1.首先因为有n个点,m条不存在的边,所以至少存在一个点,和m/n个点之间没边,所以把这个点找出来,连一下其他相连的点,这样还剩m/n个点没确定在哪个联通块,而这 ...
- Linux/Windows双系统引导修复
安装双系统建议先安装windows,然后在安装Linux,使用Linux(grub2)引导双系统 如果重新安装了windows,则无法引导进入linux,需要修复引导 在windows下安装easyB ...