1 for循环

  案例:Demo1
    1+1/2+1/3+1/4+1/5+1/6+...+1/100 = ?
    1/1+1/2+1/3+1/4+1/5+1/6+...+1/100 = ?
    分子都是1,分母是1~100
    首先定义一个double类型变量sum=0,保存累加之和
    第1次:sum = sum + 1/1
    第2次:sum = sum + 1/2
    第3次:sum = sum + 1/3
    第4次:sum = sum + 1/4
    第5次:sum = sum + 1/5
    ...
    第100次:sum = sum + 1/100
    定义变量double i = 0,i的取值1~100,i作为分母
    公式:sum = sum + 1/i
    for(double i=1;i<=100;i++){
      sum = sum + 1/i;
    }
  案例:Demo1
    1/1+1/2+1/3+1/4+1/5+1/6+...+1/100 = ?

public class Demo1 {
public static void main(String[] args) {
double sum = 0;
for(double i=1;i<=100;i++){
sum = sum + 1/i;
}
System.out.println(sum);
}
} public class Demo2 {
//1+1/3+1/5+1/7+1/9+...1/99 = ?
//1/1+1/3+1/5+1/7+1/9+...1/99 = ?
//规律:分子都是1,分母1~99之间的奇数
public static void main(String[] args) {
//1 求出分母
double sum = 0;
for(double i=1;i<=99;i=i+2){
//2 累加求和:sum = sum+1/i
sum = sum + 1/i;
}
System.out.println("累加之和:"+sum);
}
} //Demo3:
//1+1/2+1/4+1/6+1/8+1/10+...+1/200 = ?
public class Demo3 {
//1+(1/2+1/4+1/6+1/8+1/10+...+1/200) = ?
public static void main(String[] args) {
double sum=1;
for(double i=2;i<=200;i=i+2){
sum = sum + 1/i;
}
System.out.println("累加之和:"+sum);
}
}

2 break和continue
  1)break:直接退出循环语句。
  2)continue:结束本次循环,继续开始下次循环。
  案例:Demo4

public class Demo4 {
public static void main(String[] args) {
for(int i=1;i<=30;i++){
if(i==10){
break;//直接退出循环
}
System.out.println(i);
}
}
} public class Demo5 {
public static void main(String[] args) {
for(int i=1;i<=30;i++){
if(i==10){
continue;//结束本次循环,继续开始下次循环
}
System.out.println(i);
}
}
} public class Demo6 {
//使用for循环,求出1~300之间所有的奇数累加之和,
//如果累加之和一旦超过5000,直接退出for循环,并
//输出当前的累加之和。
public static void main(String[] args) {
int sum = 0;
for(int i=1;i<=300;i=i+2){
sum = sum + i;
if(sum>5000){
break;
}
}
System.out.println(sum);
}
} //Demo7: 使用for循环,求出1~100之间所有的奇数
//(2种写法)
public class Demo7 {
public static void main(String[] args) {
//方法1:
for(int i=1;i<=100;i++){
if(i%2!=0){
System.out.println(i);
}
}
//在for循环中定义的变量i,只在for循环中有效,在
//for循环外面无效
// System.out.println(i);
System.out.println();
//方法2:
for(int i=1;i<=100;i=i+2){
System.out.println(i);
}
}
}

3 循环嵌套
  1)输出内容,不换行
    System.out.print("要显示的内容");
    案例:Demo8

public class Demo8 {
public static void main(String[] args) {
System.out.print("李斯,");
System.out.print("霍光,");
System.out.print("房玄龄,杜如晦,");
System.out.print("李善长,张居正。");
System.out.println();//换行
System.out.println("白起");
System.out.println("卫青,霍去病");
System.out.println("李靖,苏定方");
System.out.println("徐达,蓝玉");
}
} public class Demo9 {
public static void main(String[] args) {
//*****
System.out.println("*****");
for(int i=1;i<=5;i++){
System.out.print("*");
}
}
} public class Demo10 {
//***
//***
//***
public static void main(String[] args) {
for(int i=1;i<=6;i++){//行数
for(int k=1;k<=10;k++){//*列数
System.out.print("*");
}
System.out.println();
}
}
} //Demo11:从控制台输入两个整数,分别作为打印长方形*的
//行数row和列数col
//比如:row:2 col:3
//***
//***
//外层循环:i=1 i<=3(true)
//内层循环第1次:k=1 k<=3(true) * k++(k:2)
// 第2次: k<=3(true) * k++(k:3)
// 第3次: k<=3(true) * k++(k:4)
// 第4次: k<=3(false) 退出内层循环
//换行
// i++(i:2)
//外层循环第2次: i<=3(true)
//内层循环: ***
//换行
// i++(i:3)
//外层循环第3次: i<=3(true)
//内层循环: ***
//换行
// i++(i:4)
//外层循环第4次: i<=3(false) 退出整个循环
import java.util.Scanner;
public class Demo11 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入行数:");
int row = sc.nextInt();
System.out.println("请输入列数:");
int col = sc.nextInt();
for(int i=1;i<=row;i++){//行数
for(int k=1;k<=col;k++){//列数
System.out.print("*");
}
System.out.println();
}
}
} public class Demo12 {
/*
*
**
***
****
*****
*/
public static void main(String[] args) {
for(int i=1;i<=10;i++){//行数
for(int k=1;k<=i;k++){
System.out.print("*");
}
System.out.println();
}
}
} //Demo13:从控制台输入一个整数,作为打印直角三角形
//*的行数row,打印直角三角形*
//row:3
//*
//**
//***
//每行*的个数,跟当前的行数一致(i)。
//内层循环每次打印i个*,内层循环执行i次
//控制内层循环执行次数的k的取值:1~i
import java.util.Scanner;
public class Demo13 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入行数:");
int row = sc.nextInt();
for(int i=1;i<=row;i++){
for(int k=1;k<=i;k++){
System.out.print("*");
}
System.out.println();
}
}
} public class Demo14 {
//1*1=1
//1*2=2 2*2=4
//1*3=3 2*3=6 3*3=9
//1*4=4 2*4=8 3*4=12 4*4=16
//...
//1*9=9 2*9=18 ... 9*9=81
public static void main(String[] args) {
for(int i=1;i<=9;i++){
for(int k=1;k<=i;k++){
System.out.print(k+"*"+i+"="
+i*k+" ");
}
System.out.println();
}
}
}

  2)循环嵌套:在一个循环语句的内部,又包含了一个循环语句。外层循环执行一次,内层循环执行所有。
    for(int i=1;i<=3;i++){
      for(int k=1;k<=3;k++){
        System.out.print("*");
      }
      System.out.println();
    }

4 数组

  把相同类型的数据聚合在一起,使用数组来保存相同类型的多个数据。
  1)创建数组格式:
    数据类型[] 数组名 = new 数据类型[数据个数];
    或者
    数据类型 数组名[] = new 数据类型[数据个数];
    eg:int[] ary = new int[5];
  2)元素:数组中使用元素来保存数据,元素就相当于变量
  3)下标:用来标识数组中的每一个元素,下标的取值从0开始,最后一个元素的下标值(元素总个数-1)
    数组名[下标值] ---> 元素
    eg:ary[0] = 100;    //把100赋值给ary中第1个元素
      ary[1] = 200;
      ary[2] = 300;
      ary[3] = 400;
      ary[4] = 500;
    案例:Demo15

public class Demo15 {
public static void main(String[] args) {
int[] ary = new int[6];
ary[0] = 100;
//分别把200,300,400,500,600依次的给其他元素赋值
ary[1] = 200;
ary[2] = 300;
ary[3] = 400;
ary[4] = 500;
ary[5] = 600;
System.out.println(ary[0]);
System.out.println(ary[1]);
System.out.println(ary[2]);
System.out.println(ary[3]);
System.out.println(ary[4]);
System.out.println(ary[5]);
// ary[6] = 1000;
//报错了,ary数组中只能保存6个元素,元素下标的取值
//0~5,ary[6]中下标的取值超过范围。
}
} public class Demo16 {
public static void main(String[] args) {
double ary[] = new double[5];
ary[0] = 1.6;
ary[1] = 2.3;
ary[2] = 9.66;
ary[3] = 10.55;
ary[4] = 100.1;
//输出每一个元素的值
System.out.println(ary[0]);
System.out.println(ary[1]);
System.out.println(ary[2]);
System.out.println(ary[3]);
System.out.println(ary[4]);
}
} public class Demo17 {
public static void main(String[] args) {
String[] ary = new String[6];
ary[0] = "徐志摩";
ary[1] = "梁思成";
ary[2] = "林徽因";
ary[3] = "林语堂";
ary[4] = "钱钟书";
ary[5] = "冰心";
System.out.println(ary[0]);
System.out.println(ary[1]);
System.out.println(ary[2]);
System.out.println(ary[3]);
System.out.println(ary[4]);
System.out.println(ary[5]);
}
}

  4)元素的默认值:系统默认给元素赋的值
    案例:Demo18

public class Demo18 {
public static void main(String[] args) {
//整型数组元素的默认值:0
int[] ary = new int[100];
System.out.println(ary[1]);//0
long[] ary2 = new long[100];
System.out.println(ary2[99]);//0
//浮点类型数组元素的默认值:0.0
double[] ary3 = new double[500];
System.out.println(ary3[10]);//0.0
//布尔类型数组元素的默认值:false
boolean[] ary4 = new boolean[100];
System.out.println(ary4[0]);//false
//引用类型数组元素的默认值:null
String[] ary5 = new String[20];
System.out.println(ary5[1]);
//null:用来表示引用类型变量没有值,为空。
}
}

    整数类型数组元素的默认值是0
    浮点类型数组元素的默认值是0.0
    布尔类型数组元素的默认值是false
    引用类型数组元素的默认值是null
    null:当前引用类型的变量(元素)没有值,为空。
  5)使用for循环来操作数组中的元素
    分析:数组中通过下标来区分开每一个元素,下标的取值从0~元素总个数-1。通过控制循环次数变量i的取值,来指向数组中的每一个元素,i的取值0~元素总个数-1,作为元素的下标值。
    for(int i=0;i<=元素总个数-1;i++){
      数组名[i] ---> 元素
    }
    案例:Demo19

public class Demo19 {
//使用for循环来操作数组中的元素
//控制循环次数变量i的取值,作为数组元素的下标值
//for(int i=0;i<=元素总个数-1;i++){
// 数组名[i] -----> 元素
//}
public static void main(String[] args) {
//创建一个int类型数组ary,包含100个元素,分别把
//0~99之间的每一个整数赋值给ary数组中的每一个元素
//最后输出每一个元素的值
int[] ary = new int[100];
for(int i=0;i<=99;i++){
ary[i] = i;
System.out.println(ary[i]);
} /*
for(int i=0;i<=99;i++){
System.out.println(ary[i]);
}
*/
}
} public class Demo20 {
//Demo20:创建一个int类型数组ary,包含了200个元素,
//把0~199之间每一个整数给ary数组元素依次赋值,输出
//每一个元素的值。
public static void main(String[] args) {
int[] ary = new int[200];
for(int i=0;i<=ary.length-1;i++){
ary[i] = i;
System.out.println(ary[i]);
}
}
} public class Demo21 {
//创建一个int类型数组ary,包含100个元素,把1~100
//之间的每一个整数给ary数组中元素依次赋值,最后输出
//每一个元素的值
//i 0~99
//i+1 1~100
public static void main(String[] args) {
int[] ary = new int[100];
for(int i=0;i<=99;i++){
ary[i] = i+1;
System.out.println(ary[i]);
}
}
} public class Demo22 {
//创建一个int类型数组ary,包含200个元素,把1~200之间
//每一个整数给ary数组中元素依次赋值
//1 输出每一个元素的值
//2 求出所有元素的累加之和
// sum = sum + i
// sum = sum + ary[i]
public static void main(String[] args) {
int[] ary = new int[200];
for(int i=0;i<=199;i++){
ary[i] = i+1;
System.out.println(ary[i]);
}
//累加求和: sum = sum + ary[i]
int sum = 0;
for(int i=0;i<=199;i++){
sum = sum + ary[i];
}
System.out.println("元素累加之和:"+sum);
}
}

  6)数组名.length:返回是数组中元素的总个数
    案例:Demo23

public class Demo23 {
public static void main(String[] args) {
int[] ary = new int[200];
System.out.println(ary.length);//200
}
}

    for(int i=0;i<=数组名.length-1;i++){
      数组名[i] ---> 元素
    }

Java语言基础(7)的更多相关文章

  1. Java学习总结(二)----Java语言基础

    1.     Java语言基础 2.1 关键字 定义:被java语言赋予特殊含义的单词 特点:关键字中的字母都为小写 用于定义数据类型的关键字 class,interface,byte,short,i ...

  2. java语言基础02

    一.Java语言基础(常量的概述和使用)(掌握) 1:什么是常量 就是在程序的执行过程中其值不发生改变的量. 2:Java中常量的分类 (1):字面值常量 (2):自定义常量(面向对象部分讲解) 3: ...

  3. Java之--Java语言基础组成—数组

    Java语言基础组成-数组 Java语言由8个模块构成,分别为:关键字.标识符(包名.类名.接口名.常量名.变量名等).注释.常量和变量.运算符.语句.函数.数组. 本片主要介绍Java中的数组,数组 ...

  4. Java之--Java语言基础组成—函数

    Java语言基础组成-函数 Java语言由8个模块构成,分别为:关键字.标识符(包名.类名.接口名.常量名.变量名等).注释.常量和变量.运算符.语句.函数.数组. 本片主要介绍Java中的函数,函数 ...

  5. Java之--Java语言基础组成(关键字、标识符、注释、常量和变量、运算符)

    Java语言基础组成-关键字.标识符.注释.常量和变量.运算符 Java语言由8个模块构成,分别为:1.关键字:2.标识符(包名.类名.接口名.常量名.变量名等):3.注释:4.常量和变量:5.运算符 ...

  6. Java语言基础(二) Java关键字

    Java语言基础(二) Java关键字 Java关键字比较多,我就不列举出来了,只记录一些常用的小知识点: ①Java的关键字只有小写. ②then.sizeof都不是Java的关键字,熟悉C++的程 ...

  7. Java语言基础(九)

    Java语言基础(九) 一.自增运算(++) 自减运算(--) i++ 就是将i+1再赋给 i i-- 是将i-1再赋给 i 对变量i,j来说,i++ 或++i 这里没什么区别,都是将i的值加1后,再 ...

  8. Java语言基础(八)

    Java语言基础(八) 一.数学运算  + - * /  % (1)凡是byte  short  char类型都按int类型的计算   看看上面的代码,为什么出错! 我已经将100转成byte类型,( ...

  9. Java语言基础(七)

    Java语言基础(七) 今天在公司多呆了会,回来晚了 一.自动类型转换 在Java中,数据是可以转换的  例如可以将byte类型的赋给int类型的 这里希望你了解内存的变化,例如 在这里,我想你应该知 ...

  10. Java语言基础(六)

    Java语言基础(六) 前一章提到的, BigDecimal, DecimalFormat等具体用法,这里就不在说了,网上有许多 一.下面让我们看一个例子(自由落体运动位移) 说明: (1).公式是 ...

随机推荐

  1. 刀塔OMG塔防1.23单机版使用方法

    使用方法1.确保魔兽的版本为1.26(低版本会报错),如果版本不对用附件中的版本转换器转一下2.把 omg.w3x 复制到 魔兽的MAPS文件夹 WarcraftIII 游戏根目录\Maps3.双击运 ...

  2. Leetcode之动态规划(DP)专题-198. 打家劫舍(House Robber)

    Leetcode之动态规划(DP)专题-198. 打家劫舍(House Robber) 你是一个专业的小偷,计划偷窃沿街的房屋.每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互 ...

  3. 【DSP开发】gel文件编写

    以下转载自:http://blog.csdn.net/henhen2002/article/details/4573447 GEL--通用扩展语言,无类型语言,只有int类型,当CCS运行时首先执行这 ...

  4. Big Box

    #include <stdio.h> #define N 500 int height[N]; int n; int main() { scanf("%d", & ...

  5. 使用JedisPool资源池操作Redis,并进行性能优化

    一.使用方法 ----------------------------------------- private volatile static JedisPool pool = null; //本地 ...

  6. Mac 操作小技巧

    系统版本 MacOs Mojava # 快捷键篇: 1. 打开终端:command+空格,输入terminal:在终端页面,新建终端command + T 2. 打开文件夹:command + T 3 ...

  7. Oracle-DQL 3- 单行函数

    单行函数: --使用函数对表中的数据进行运算和处理,针对每行数据返回一个结果,叫做单行函数--包括数字函数,字符函数,日期函数,转换函数,其他函数 1.数字函数 --round(m,n) 将数字m精确 ...

  8. delphicbuilder10_2_1 安装破解注册

    安装程序 1.解压delphicbuilder10_2_1.iso,以管理员身份运行..\delphicbuilder10_2_1\Install\Setup.exe——选择安装语言——点击OK(推荐 ...

  9. 【LOJ】#3046. 「ZJOI2019」语言

    LOJ#3046. 「ZJOI2019」语言 先orz zsy吧 有一个\(n\log^3n\)的做法是把树链剖分后,形成logn个区间,这些区间两两搭配可以获得一个矩形,求矩形面积并 然后就是对于一 ...

  10. PHP数组和对象之间的互换

    今天在和前端对接接口的时候,从后台返回数据给前端的时候出现如下JSON格式数据 "goods": [ { "id": "dEQ144800584Lx& ...