学习java的第五周
java流程控制
顺序结构
- 语句与语句之间,框与框之间是按从上到下的顺序进行的,它是由若干个依次执的处理步骤组成的,它是任何-一个算法都离不开的一种基本算法结构。
选择结构
if结构
if(布尔表达式)
{
//如果为ture执行的语句
}
else
{
//如果布尔表达式的值为false
}
- if有四种结构,if单选择结构,if双选择结构,if多选择结构,嵌套的if结构
switch多选择结构
switch(expression)
{
case value: //语句
}
- 可以使用字符串String类型
九九乘法表
public class test {
public static void main(String[] args) {
for(int i = 1;i<10;i++)
{
for(int j = 1; j<=i;j++)
{
sum=j*i;
System.out.printf("%d * %d = %d ",j,i,i*j);
}
System.out.println();
}
}
}
- 这是在看视频之前按照他题目写出来的代码,在看了他写的代码之后,发现在java中可以写的更简便些,可以将输出数据总和起来写成
System. out . print(j+""+i+"="+(j"i) + "\t");
打印三角形
public class test {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int x = scanner.nextInt();
for(int i = 0;i<x;i++ )
{
for(int k = x;k>=i;k--)
{
System.out.print(" ");
}
for(int j = 1;j<=i*2-1;j++)
{
System.out.print("*");
}
System.out.println();
}
}
scanner.close();
}
- 这是按照视频的题目写出的代码
方法
- 类似于c中的函数
方法的重载
- 重载就是在一个类中,有相同的函数名称,但形参不同的函数。
规则 - 方法名称必须相同。
- 参数列表必须不同(个数不同、或类型不同、参数排列顺序不同等)
- 仅仅返回类型不同不足以成为方法的重载。
可变参数
- 在方法声明中,在指定参数类型后加一-个省略号(..)。
- -个方法中只能指定-个可变参数,它必须是方法的最后-个参数。任何普通的参数必须在它之前声明。
例子:public void max( double... numbers) {}
作业
- 写-个计算器,要求实现加减乘除功能,并且能够循环接收新的数据,通过用户交互实现。
public class test {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入你要计算的算式,注意格式为:数字 符号 数字");
System.out.println("输入字母'z'时结束运行");
while(!scanner.hasNext("z"))
{
double sum=0;
double num1 = scanner.nextInt();
String sign = scanner.next();
double num2 = scanner.nextInt();
switch(sign)
{
case "+":sum = Add(num1,num2);System.out.println(sum);break;
case "-":sum=Less(num1,num2);System.out.println(sum);break;
case "*":sum = Mul(num1,num2);System.out.println(sum);break;
case "/":sum = Div(num1,num2);System.out.println(sum);break;
}
}
}
public static double Add(double num1, double num2)
{
return num1 + num2;
}
public static double Less(double num1, double num2)
{
return num1 - num2;
}
public static double Mul(double num1, double num2)
{
return num1 * num2;
}
public static double Div(double num1, double num2)
{
if(num2!=0)
{
return num1 / num2;
}
else
{
return 0;
}
}
}
三种初始化及内存分析
内存分析
java内存
堆
- 存放new的对象和数组
- 可以被所有的线程共享.不会存放别的对象引用
栈
- 存放基本变量类型(会包含这个基本类型的具体数值)
- 引用对象的变量(会存放这个引用在堆里面的具体地址)
方法区
- 可以被所有的线程共享
- 包含了所有的class和static变量
三种初始化
静态初始化
int[] a = {1,2,3};
Man[ ] mans = {new Man(1,1),new Man(2,2)};
动态初始化
int[]a = new int[2];
a[0]=1;
a[1]=2;
数组的默认初始化
- 数组是引用类型,它的元素相当于类的实例变量,因此数组-经分配空间,其中的每个元素也被按照实例变量同样的方式被隐式初始化。
Arrays类
- 数组的工具类java.util.Arrays
- 由于数组对象本身并没有什么方法可以供我们调用,但API中提供了一个工具类Arrays供我们使用,从而可以对数据对象进行一 些基本的操作。
具有以下常用功能: - 给数组赋值:通过fill方法。
- 对数组排序:通过sort方法,按升序。
- 比较数组:通过equals方法比较数组中元素值是否相等。
- 查找数组元素:通过binarySearch方法能对排序好的数组进行二分查找法操作。
- 输出字符串:toString
稀疏数组
- 当一个数组中大部分元素为0,或者为同一值的数组时,可以使用稀疏数组来保存该数组。
稀疏数组的处理方式是: - 记录数组一共有几行几列,有多少个不同值
- 把具有不同值的元素和行列及值记录在-个小规模的数组中,从而缩小程序的规模
(行 列 有效数据)
学习java的第五周的更多相关文章
- 对于“2017面向对象程序设计(Java)第五周工作总结”存在问题的反馈及本周教学计划
一:问题反馈 “上周我们学习的新内容主要是第五章,并对第四章内容做了巩固.从学生上交的实验报告完成情况以及学习Java心得博客中的反馈可以看出,学生对构造器.重载.超类.多态.抽象类这几个概念理解的不 ...
- 2017面向对象程序设计(Java)第五周工作总结
时光如逝,岁月如梭,不知不觉已经开学五个星期了.在代老师的带领下,我们一步一步走近Java,也渐渐的适应了翻转课堂的个性化教学,此时此刻相信同学们对Java也有了更加深入的了解.下面我对第五周的助教工 ...
- 学习java知道这五个网站就够了
"这个国家的每个人都应该学习编程计算机,因为它教你如何思考." 当乔布斯几年前这么说时,他再次被证明是一个真正的有远见的人. 好吧,这很难反驳!如今,编程比以往任何时候都更加蓬勃发 ...
- 系统学习 Java IO (十五)----字符读写 Reader/Writer 其他子类
目录:系统学习 Java IO---- 目录,概览 跟踪行号的缓冲字符输入流 LineNumberReader LineNumberReader 类是一个 BufferedReader ,用于跟踪读取 ...
- 201521123078 《java》第五周学习总结
1. 本周学习总结 1.1 尝试使用思维导图总结有关多态与接口的知识点. 2. 书面作业 代码阅读:Child压缩包内源代码 1.1 com.parent包中Child.java文件能否编译通过?哪句 ...
- 201621123037 《Java学习设计》 第五周学习总结
Week05-继承.多态.抽象类与接口 1. 本周学习总结 1.1 写出你认为本周学习中比较重要的知识点关键词 关键词:接口."has-a".多态.comparable.Compa ...
- 201521123025<java程序设计>第五周学习总结
1. 本周学习总结 2. 书面作业 1.代码阅读:Child压缩包内源代码 1.1 com.parent包中Child.java文件能否编译通过?哪句会出现错误?试改正该错误.并分析输出结果. 1.2 ...
- Java程序设计第五周学习总结
1. 本周学习总结 1.1 尝试使用思维导图总结有关多态与接口的知识点. 1.2 可选:使用常规方法总结其他上课内容. 2. 书面作业 **代码阅读:Child压缩包内源代码 Child.java源代 ...
- 《Java》第五周学习总结20175301
https://gitee.com/ShengHuoZaiDaXue/20175301.git 本周我学习了第六章的内容接口 重要内容有 理解接口 接口参数 面向接口编程 abstract类与接口的比 ...
随机推荐
- 抽象工厂模式(c++实现)
抽象工厂模式 目录 抽象工厂模式 模式定义 模式动机 UML类图 源码实现 优点 缺点 感悟 模式定义 抽象工厂模式(Abstract Factory),提供一个创建一系列相关或相互依赖对象的接口,而 ...
- css盒子流动和block。inline
回忆一下盒子流动等概念! 1.盒子模型的宽度与高度,都是包括padding的值.(代码的理解如下:) 这样的结果的到就是 宽度和高度都是220了 2.流动型,在标签中存在块级元素和行内元素, 块级元 ...
- Java 并发队列 BlockingQueue
BlockingQueue 开篇先介绍下 BlockingQueue 这个接口的规则,后面再看其实现. 首先,最基本的来说, BlockingQueue 是一个先进先出的队列(Queue),为什么说是 ...
- Python编程无师自通PDF高清完整版免费下载|百度网盘
百度网盘:Python编程无师自通PDF高清完整版免费下载 提取码:cx73 内容介绍 畅销Python编程类入门书,美国亚马逊Kindle编程类排行榜榜一. 作者从文科毕业,通过自学编程转行为专业程 ...
- 小书MybatisPlus第8篇-逻辑删除实现及API细节精讲
本文为Mybatis Plus系列文章的第8篇,前7篇访问地址如下: 小书MybatisPlus第1篇-整合SpringBoot快速开始增删改查 小书MybatisPlus第2篇-条件构造器的应用及总 ...
- Bug -- WebService报错(两个类具有相同的 XML 类型名称 "{http://webService.com/}getPriceResponse"。请使用 @XmlType.name 和 @XmlType.namespace 为类分配不同的名称。)
调用WebService时报错 解决方法: 在提示的两个java文件中加如一行代码namespace = "http://namespace.thats.not.the.same.as.th ...
- 9-Pandas之数据合并与轴向连接(pd.concat()的详解)
数据合并:由于数据可能是不同的格式,且来自不同的数据源,为了方便之后的处理与加工,需要将不同的数据转换成一个DataFrame. Numpy中的concatenate().vstack().hstac ...
- PHP children() 函数
实例 查找 note 节点的子节点: <?php$note=<<<XML<note><to>Tove</to>高佣联盟 www.cgewan ...
- Ploya定理学习笔记
由于自己的作息极其不规律导致比赛被打爆了 但是有的时候状态其实还行. 关于Ploya定理其实特别有意思 这里粘一个[dalao的blog](https://blog.csdn.net/lyc16355 ...
- SET DYNAMICS 365 COLORS AND LOGO USING THEMES
https://carldesouza.com/dynamics-365-colors-logo-themes/ BEFORE WE START, I NEED YOUR HELP. I AM SPE ...