学习Java的Day02
知识点
数组:
- 一维数组 声明: 类型[] 数组名;([] 在前后没有影响,一般写在名称前。)
- 创建数组 数组名 = new 类型[数组长度]。
- 数组索引从0开始。获取数组长度:数组名.length.
- 初始化方式:(1)int[] arr01={}; (2)int[] arr02 = new int[]{1,2,3,4};
- 二维数组 int[][] arr ={{1,2},{3,4}};
- 数组遍历
- 普通for循环遍历(虽然有的麻烦,但是可以对数组进行修改。)
- 增强for each 遍历(获取数组内容比较方便,但是不能对数组内容进行修改)
- (注意数组越界异常 ArrayIndexOutOfBoundsExceptio 原因:访问不存在索引 )
- (空指针异常 NullPointerException 原因:数组已经不在堆内存了,还用数组去访问元素)
- JVM 的内存划分
程序计数器
本地方法栈
方法栈:执行方法,保存局部变量
方法区:存储类的信息,静态变量,常量,编译后的代码
堆:存储对象本身,以及数组。
- 数组排序 冒泡排序
public void work02(int n){
int[] arr = new int[n];
int temp=0;
Scanner sc = new Scanner(System.in);
for (int i = 0; i < n; i++) {
System.out.println("请输入:" + n + "个数字:");
int num = sc.nextInt();
arr[i] = num;
}
for (int i = 0;i<arr.length-1;i++){
for (int j = 0;j<arr.length-1-i;j++){
if (arr[j] > arr[j+1]) {
temp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
}
}
}
System.out.println(Arrays.toString(arr));
}
选择排序
public void work03(int n){
int[] arr = new int[n];
int temp=0;
Scanner sc = new Scanner(System.in);
for (int i = 0; i < n; i++) {
System.out.println("请输入:" + (n -i)+ "个数字:");
int num = sc.nextInt();
arr[i] = num;
}
for (int i = 0 ;i<arr.length;i++){
for (int j=i+1;j<arr.length;j++){
if (arr[i]>arr[j]){
temp=arr[i];
arr[i]=arr[j];
arr[j]=temp;
}
}
}
System.out.println(Arrays.toString(arr));
}
- 冒泡排序和选择排序的排序的原理
选择排序
每次从数组里面取出两个的元素作比较从下标为0的地方开始
- 每次拿需要排序的第个元素和后面的元素依次作比较,找到最小值
- 把小值放到第一个元素
- 第二轮拿第二个元素和后面的元素依次作比较。直到找到最小值
- 把小值放到第” 个元素的位置上
- 面向对象OOP特点:继承,封装,多态。
- 封装:提高代码安全性 ;把属性私有化,提供公共方法访问私有对象。
- 构造函数实现了对象初始化流程的封装。方法封装了操作对象的流程。封装主要是为了隐藏对象的细节,在ava中常用private封装对象数据成员,比如典型的单例模式,使用private修饰构造函数,使得在其他类无法通过new来获取类的对象,只能通过其内部共有的方法来获取类的实例对象。在static区块或方法中不能出现this关键字。static方法中不能使用非static的数据或方法成员。
学习Java的Day02的更多相关文章
- 零基础如何学习java更有效呢?
零基础学java,不知道该如何入手?也不知道学习的方向,很多人会问零基础怎么样学习,有没有什么入门的书籍推荐:只要方法正确,零基础学好java也是有机会的哦. 一.理解Java思想 Java是一门面向 ...
- 积极主动敲代码,使用Junit学习Java程序设计
积极主动敲代码,使用JUnit学习Java 早起看到周筠老师在知乎的回答软件专业成绩很好但是实际能力很差怎么办?,很有感触. 从读大学算起,我敲过不下100本程序设计图书的代码,我的学习经验带来我的程 ...
- 如何接触学习java
信息科技必将是未来的潮流,Java语言必将在时代的进步中发挥不可估量的作用,未来,掌握好一门实用而且有良好应用前景的技术是你们的首要任务. 零基础怎么学Java 多年Java教育培训经验事实表明,零基 ...
- 零基础如何系统学习Java Web
零基础如何系统学习Java Web? 我来给你说一说 你要下决心,我要转行做开发,这样你才能学成. 你要会打字,我公司原来有一个程序员,打字都是两个手一指禅,身为程序员你一指禅怎么写出的代码,半个 ...
- (转)如何学习Java技术?谈Java学习之路
51CTO编者注:这篇文章已经是有数年“网龄”的老文,不过在今天看来仍然经典.如何学习Java?本篇文章可以说也是面对编程初学者的一篇指导文章,其中对于如何学习Java的步骤的介绍,很多也适用于开发领 ...
- 《疯狂Java讲义》(一) ---- 关于学习Java的反思
"听到Spring很火,就立马买来一本Spring的书来读,最后结果往往是失败,因为这种学习没有积累,没有根基,学习过程中困难重重,每天都被一些相同.类似的问题所困扰,起初热情十足,经常上论 ...
- 十天来学习java的心得体会
有关学习java是几天来的心得体会: 十天学习java遇到很多问题,每个问题都是经过反复的看书本以及上网查找资料来解决的,发现这一点真的需要自己来而不是去遇到什么问题就去依靠他人(师兄.同学).在其中 ...
- 【转】学习JAVA的步骤
好东西大家分享: JAVA学习的一些重点 . Java语言基础 谈到Java语言基础学习的书籍,大家肯定会推荐Bruce Eckel的<Thinking in Java>.它是一本写的 ...
- 应用JConsole学习Java GC
应用JConsole学习Java GC 关于Java GC的知识,好多地方都讲了很多,今天我用JConsole来学习一下Java GC的原理. GC原理 在我的上一篇中介绍了Java运行时数据区,在了 ...
随机推荐
- Rocket - debug - TLDebugModuleOuter
https://mp.weixin.qq.com/s/9nMo6IYmDCz7S-ALFx824g 简单介绍TLDebugModuleOuter的实现. 1. DebugModuleAccessTyp ...
- Rocket - diplomacy - LazyModule的实例化
https://mp.weixin.qq.com/s/9PsBt4_4qHx4i6C5XtuiUw 介绍LazyModule和Node构造方法的执行过程,即实例化过程. 1. NullIn ...
- SpringCloud Eureka Client和Server侧配置及Eureka高可用配置
一.Eureka注册中心和客户端配置Demo. 1.Server端 a.使用Idea创建Spring项目,如下所示: b.相关配置 application.yaml配置文件如下: # eureka本身 ...
- Linux (三) 基础命令 上
个人博客网:https://wushaopei.github.io/ (你想要这里多有) 一 . 背景知识 1. Linux系统中一切皆文件 在Linux系统中任何东西都是以文件形式来存储的.这 ...
- JavaScript (一) js的介绍及基本语法变量
个人博客网:https://wushaopei.github.io/ (你想要这里多有) 一.JS 的 介绍 1.JavaScript :简称 : js js 分为三个部分: 1. ECMASc ...
- 一个神秘URL酿大祸,差点让我背锅!
神秘URL 我叫小风,是Windows帝国一个普通的上班族.上一回说到因为一个跨域请求,我差点丢了饭碗,好在有惊无险,我的职场历险记还在继续. "叮叮叮叮~~~~",闹钟又把我给吵 ...
- Java实现洛谷 P1873 砍树(StreamTokenizer+IO+二分)
P1873 砍树 输入输出样例 输入 5 20 4 42 40 26 46 输出 36 PS: get新知识,以前只知道STringTokenizer并没有了解过StreamTokenizer,这次才 ...
- Java实现 LeetCode 558 四叉树交集(四叉树,第一次遇到,研究了半天)
558. 四叉树交集 四叉树是一种树数据,其中每个结点恰好有四个子结点:topLeft.topRight.bottomLeft 和 bottomRight.四叉树通常被用来划分一个二维空间,递归地将其 ...
- 第六届蓝桥杯JavaB组国(决)赛真题
解题代码部分来自网友,如果有不对的地方,欢迎各位大佬评论 题目1.分机号 X老板脾气古怪,他们公司的电话分机号都是3位数,老板规定,所有号码必须是降序排列,且不能有重复的数位.比如: 751,520, ...
- 关于virgo-tomcat-server-3.6.0.RELEASE服务的启动
1.先查看程序是否启动,如果已经启动可以执行第3步的操作进行关闭. [user01@ ~]$ # ps -ef|grep java //查看virgo-tomcat-server的java进程是否存在 ...