学习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类与接口的比 ...
随机推荐
- Mybatis核心模块简介
Configuration 主要字段 Environment:配置DataSource和TransactionFactory ObjectFactory:bean工厂 MapperRegistry:M ...
- Java应用服务器之tomcat会话复制集群配置
会话是识别用户,跟踪用户访问行为的一个手段,通过cookie(存在客户端)或session(存在服务端)来判断本次请求是那个客户端发送过来:常用的会话保持有绑定会话,就是前边我们聊的在代理上通过算法或 ...
- getprop与dumpsys命令
拿到Android手机以后, 想查看一些手机信息. 其实Android获取手机信息就是两个命令, 一个是getprop 一个是dumpsys. dumpsys iphonesubinfo Phone ...
- laravel 数据分页简单示例
控制器代码:只需用paginate($pageSize)方法查询数据即可 $pageSize:每页显示的记录数 public function index() { $data = Member::pa ...
- python学习笔记1 -- 面向对象编程类和实例
由于之前有一定基础,所以python中的类的概接受的比较快,与其他语言一样, python也是通过类来进行事务的抽象,一切皆对象,要不然怎么说程序员不缺对象呢. 言归正传,python中类的声明是cl ...
- python map() filter() reduce()函数的用法以及实例
map() 看一下我的终端咋说: map()的函数用法: map(function, iterable, ...) 看一下具体例子: 注意的是一定要强制转化一下才能输出 也可以写匿名函数: (mark ...
- 枚举-称硬币POJ1013
#include <iostream> #include<string.h> using namespace std; char Lleft[][]; char Lright[ ...
- 第十四章 JDK新特性回顾
14.1.JDK5新特性回顾 自动装箱.拆箱 静态导入 增强for循环 可变参数 枚举 泛型 元数据 14.2.JDK7新特性回顾 对Java集合(Collections)的增强支持 在switch中 ...
- Day01_搭建环境&CMS服务端开发
学成在线 第1天 讲义-项目概述 CMS接口开发 1 项目的功能构架 1.1 项目背景 受互联网+概念的催化,当今中国在线教育市场的发展可谓是百花齐放.如火如荼. 按照市场领域细分为:学前教育.K12 ...
- MacOS下SpringBoot基础学习
学于黑马和传智播客联合做的教学项目 感谢 黑马官网 传智播客官网 微信搜索"艺术行者",关注并回复关键词"springboot"获取视频和教程资料! b站在线视 ...