基础学习day03---程序结构与控制、函数与数组入门
三、条件选择结构
3.1 、IF语句--单分支结构
package com.day03;
/**
* 比较2个数的大小
* @author Administrator
*
*/
public class IFTest1 { public static void main(String[] args) {
int x=3;
int y=10;
System.out.println("====开始比较=====");
if(x>y){
System.out.println("x比y大!");
}
if(x<y){
System.out.println("x比y小!");
}
if(x==y){
System.out.println("x等于y!");
}
System.out.println("====比较完成!=====");
} }
3.2、if...else语句--双分支结构
package com.day03; /**
* 判断一个数是奇数还是偶数
*
* @author Administrator
*
*/
public class IFELSETest { public static void main(String[] args) { int x = 3;
if (x % 2 == 0) {
System.out.println(x + "是偶数!");
} else {
System.out.println(x + "是奇数!");
} } }
3.3、if…else if…else语句 --多分支结构
package pb.test;
public class test6 {
public static void main(String[] args) {
int x=3;
if(x==1){
System.out.println("x的值是1!");
}else if(x==2){
System.out.println("x的值是2!");
}else if(x==3){
System.out.println("x的值是3!");
}else{
System.out.println("x的值不是1,2,3 中的一个!");
}
}
}
package com; import java.util.Scanner; /**
* 根据用户指定的朋份,打印该月份所属的季节
* 12,1,2冬
* 2,3,4春
* 5,6,7夏季
* 9,10,11秋季
*/
public class SwitchTest { public static void main(String[] args) {
//定义扫描器变量
Scanner scanner=new Scanner(System.in);
//定义变量接收
int num=scanner.nextInt();
/**
* 数值类型的结果,并不是很多时用switch
*/
switch(num){ //byte short int char只接收4种类型 JDK7以上switch可以判断字符串
case 3:
case 4:
case 5:
System.out.println(num+"春季");
break;
case 6:
case 7:
case 8:
System.out.println(num+"夏季");
break;
case 9:
case 10:
case 11:
System.out.println(num+"秋季");
break;
case 12:
case 1:
case 2:
System.out.println(num+"冬季");
break;
default:
System.out.println("输入 错误,请输入1--12之间的数字");
} } }
4.2、没有Break的Switch
package com; /**
* 根据操作符做相应的操作
*
* @author Denny
*
*/
public class SwitchTest2 { public static void main(String[] args) {
int a = 10;
int b = 3;
char c = '+'; switch (c) {
default:
System.out.println("未知操作符");
case '+':
System.out.println("a+b=" + (a + b));
case '-':
System.out.println("a-b=" + (a - b));
case '*':
System.out.println("a*b=" + (a * b));
case '/':
System.out.println("a/b=" + (a / b)); } } }
package com.day03;
/**
* 使用While进行100以内累加操作
* @author Administrator
*
*/
public class WhileTest { public static void main(String[] args) { int i=1; //变量
int sum=0; //和 while(i<=100){//先判断条件
sum+=i;
i++;
}
System.out.println("100以内整数之和:"+sum); } }
5.2 do...while
package com.day03; /**
* 使用do...While进行100以内累加操作
*
* @author Administrator
*
*/
public class DoWhileTest { public static void main(String[] args) {
int i = 1; // 变量
int sum = 0; // 和 do {
sum += i;
i++; } while (i <= 100); System.out.println("100以内整数之和:" + sum);
} }
5.3、while和do..while区别
package com.db1;
public class WhileDemo {
public static void main(String[] args) {
//while 判断条件可能一次也不执行
int x=1;
while(x<3);
{
System.out.println("x="+x);
x++;
}
//do while 最少执行一次
int y=1;
do{
System.out.println("do:y="+y);
y++;
}while(y<3);
}
}
6.2、使用for进行100以内累加操作
package com.day03;
/**
* 使用for进行100以内累加操作
* @author Administrator
*
*/
public class ForTest { public static void main(String[] args) {
int sum=0;
for (int i = 0; i <=100; i++) {
sum+=i;
}
System.out.println("100以内整数之和:" + sum);
} }
6.3、打印99乖法表
双循环打印
package com.db1; /**
* 打印99乖法表
*
* @author denny
*
*/
public class Demo7 { public static void main(String[] args) {
//外层循环控制行数
for(int i=1;i<=9;i++){
//内层循环控制列
for (int j = 1; j <=i; j++) {
System.out.print(j+"*"+i+"="+(j*j)+" ");
}
//换行
System.out.println();
} } }
package com.db1; /**
* 打印99乖法表
*
* @author denny 一个循环打印
*/
public class Demo7_1 { public static void main(String[] args) {
//一个循环
for (int i = 1, j=1;i <=9; i++) {
//输出
System.out.print(i+"*"+j+"="+i*j+" ");
if(i==j){
i=0;
j++;
System.out.println();
}
//当j>9是终止
if(j>9){
break;
} } } }
package com.day03;
public class ForTest2 {
public static void main(String[] args) {
int x=1;
for(System.out.println("a");x<3;System.out.println("c")){
System.out.println("d");
x++;
}
//结果adcdc
}
}
打印菱形
package com.day03;
/**
* 打印菱形
* @author Denny
* 思路:使用for和循环
* 1.先打印正三角,
* 2.再打印倒三角
*
*/
public class ForTest7 { public static void main(String[] args) {
/*
* 打印三角形
*/
for(int x=0;x<5;x++){ //打印空格
for(int y=x+1;y<5;y++){
System.out.print(" ");
}
//打印三角形
for(int z=0;z<=x;z++){
System.out.print("* ");
}
//换行
System.out.println(); }
//倒三角
for(int x=4;x>0;x--){ //打印空格
for(int y=x;y<=4;y++){
System.out.print(" ");
}
//打印三角形
for(int z=0;z<x;z++){
System.out.print("* ");
}
//换行
System.out.println(); } } }
package com.day03;
/**
* 使用for和循环验证break
* @author Administrator
*
*/
public class BreakDemo { public static void main(String[] args) { for(int i=0;i<10;i++){
if(i==5){
break;//结束最近的和循环体 ,执行这个和循环体后面的代码
}
System.out.print(i+" "); } System.out.println("程序结束");
} }
结果:
0 1 2 3 4 程序结束
package com.day03;
/**
* 使用for和循环验证continue
* @author Administrator
*
*/
public class ContinueDemo { public static void main(String[] args) { for(int i=0;i<10;i++){
if(i==5){
continue; //跳过本次和循环执行下次和循环
}
System.out.print(i+" "); } System.out.println("程序结束"); } }
结果:
0 1 2 3 4 6 7 8 9 程序结束
/**
* 使用for和循环验证return
* @author Administrator
*
*/
public class ReturnDemo { public static void main(String[] args) {
for(int i=0;i<10;i++){
if(i==5){
return; //程序结束
}
System.out.print(i+" "); } System.out.println("程序结束"); //这里没有执行 } }
结果:
0 1 2 3 4
函数的格式:
修饰符 返回值类型 函数名(参数类型 形式参数1,参数类型 形式参数2,...)
{
执行语句;
return 返回值;
}
返回值类型:函数运行后的结果的数据类型。
参数类型:是形式参数的数据类型。
形式参数:是一个变量,用于存储调用函数时传递给函数的实际参数。
实际参数:传递给形式参数的具体数值。
return:用于结束函数。
返回值:该函数运算后的结果,该结果会返回给调用者。
2、便于对该功能进行复用。
3、函数只有被调用才会被执行。
4、函数的出现提高了代码的复用性。
P.S.
1、对于函数没有具体返回值的情况,返回值类型用关键字void表示,那么该函数中的return语句如果在最后一行可以省略不写,或者写上return;。
package com.day03;
/**
* 函数
* @author denny
*
*/
public class FunctionDemo { public static void main(String[] args) { String str="Hello";
getString(str);
}
public static void getString(String str){
System.out.println(str);
} }
在同一个类中,允许存在一个以上的同名函数,只要它们的参数个数或者参数类型不同即可和返回值类型无关
重载的好处:
代码复用提高,提高阅读性
package com.day03;
/**
* 函数
* @author denny
*
*/
public class FunctionDemo { public static void main(String[] args) {
System.out.println(add(4,5));
System.out.println(add(4,5,6));
System.out.println(add(2.0,3.5));
}
//2个整数参数
public static int add(int x, int y){
return x+y;
}
//3个整数参数
public static int add(int x, int y,int z){
return x+y+z;
}
//2个double参数
public static double add(double x, double y){
return x+y;
} }
9.3、数组的定义和格式
9.4、内存分配和特点
基础学习day03---程序结构与控制、函数与数组入门的更多相关文章
- Java【基础学习】之暴力求素数【用数组返回】
Java[基础学习]之暴力求素数[用数组返回] */ import java.util.*; public class Main{ public static void main(String[] a ...
- python3编程基础之一:程序结构
程序从程序入口进入,到程序执行结束,大体是按照顺序结构执行语句.函数或代码块,掌握程序的结构,有利于把握程序的主体框架. 1.顺序结构--最常见的结构 顺序结构的程序设计是最简单的,只要按照解决问题的 ...
- C语言基础知识【程序结构】
C 程序结构1.C 程序主要包括以下部分:预处理器指令函数变量语句 & 表达式注释2.#include <stdio.h> int main(){ /* 我的第一个 C 程序 ...
- Asp.net MVC学习--默认程序结构、工作流程
二.MVC 默认程序结构 MVC新建好之后,会对应的出现几个包,分别是:Controller.Model.View --即MVC 其中的默认的Default.aspx文件可以方便url重写,如果不设置 ...
- Python基础知识(程序结构)
流程控制语句 选择语句.条件表达式.循环语句.跳转语句.pass空语句 程序结构三种基本结构 顺序结构.选择结构.循环结构 顺序结构 按照代码顺序依次运行 选择结构 根据条件表达式结果选择执行不同的语 ...
- C语言 结构体相关 函数 指针 数组
. 作者 : 万境绝尘 转载请注明出处 : http://www.hanshuliang.com/?post=30 . 结构体概述 : 结构体是 多个 变量的集合, 变量的类型可以不同; -- 可进行 ...
- C++基础学习笔记----第四课(函数的重载、C和C++的相互调用)
本节主要讲了函数重载的主要概念以及使用方法,还有C和C++的相互调用的准则和具体的工程中的使用技巧. 函数重载 1.基本概念 函数重载就是用同一个函数名来定义不同的函数.使用不同的函数参数来搭配同一个 ...
- DELPHI语法基础学习笔记-Windows 句柄、回调函数、函数重载等(Delphi中很少需要直接使用句柄,因为句柄藏在窗体、 位图及其他Delphi 对象的内部)
函数重载重载的思想很简单:编译器允许你用同一名字定义多个函数或过程,只要它们所带的参数不同.实际上,编译器是通过检测参数来确定需要调用的例程.下面是从VCL 的数学单元(Math Unit)中摘录的一 ...
- Python基础学习3---数据结构
数据结构 数据结构基本上就是---他们是可以处理数据的结构或者说他们是用来存储一组相关数据的. 在python中有三种内建的数据结构-----列表.元组和字典 列表(list) 列表就像是我们要去超市 ...
随机推荐
- 解决git中文乱码
和linux平台一样,在默认设置下,文件名称中包含中文的文件,在工作区状态输出.查看历史更改概要,以及在补丁文件中,文件名中的中文不能正确的显示,而是用若干八进制字符编码来显示,如下: git sta ...
- 移动安全时代,如何保护你的app
Android系统的安全性历来备受诟病,在强大的反编译工具下,APK中的代码逻辑一览无余:重打包技术使得各种盗版软件层出不穷,充斥着Android市场,特别是对于金融.电商.游戏等产品的盗版应用,严重 ...
- mysql提示:Illegal mix of collations for operation ‘UNION’
http://www.111cn.net/database/mysql/56096.htm show variables like "%char%"; show variables ...
- 关于js中的回收机制,通俗版
在前面的几篇文章中,我讲解过了js中的回收机制,但是对于当时的我来说,我自己对回收机制的这个概念也有些懵懵懂懂,现在对回收机制有了更深入的理解,所以特此发布此文给于总结,也好加深记忆. 如果你想学习闭 ...
- win7中的画图
下午做一个图像篡改定位实验,在win7下对图像进行修改,然后通过其最低位判断篡改位置. 程序如何都调试不出来.反复简化程序,发现win7中的画图对图像存在优化. 当更改图像后,会自动调整当前图像的显示 ...
- 2014 网选 5012 Dice(bfs模板)
/* 题意:就是给定两个筛子,每个筛子上6个面,每个面的数字属于[1,6], 且互不相同! 问a筛子最少经过按照题目规定的要求转动,达到和b筛子上下左右前后的数字相同! 思路:很直白的bfs,将每一种 ...
- 二叉查找树(三)之 Java的实现
概要 在前面分别介绍了"二叉查找树的相关理论知识,然后给出了二叉查找树的C和C++实现版本".这一章写一写二叉查找树的Java实现版本. 目录 1. 二叉树查找树2. 二叉查找树的 ...
- 高性能JavaScript-JS脚本加载与执行对性能的影响
在web产品优化准则中,很重要的一条是针对js脚本的加载和执行方式的优化.本篇文章简单描述一下其中的优化准则. 1. 脚本加载优化 1.1 脚本位置对性能的影响 优化页面加载性能的原则之一是将scri ...
- 1、图解Oracle Logminer配置使用
LogMiner配置使用手册 1 Logminer简介 1.1 LogMiner介绍 Oracle LogMiner 是Oracle公司从产品8i以后提供的一个实际非常有用的分析工具,使用该工具可以轻 ...
- 受限玻尔兹曼机(RBM)学习笔记(一)预备知识
去年 6 月份写的博文<Yusuke Sugomori 的 C 语言 Deep Learning 程序解读>是囫囵吞枣地读完一个关于 DBN 算法的开源代码后的笔记,当时对其中涉及的算法原 ...