Java语言基础(8)
1 数组(二)
1)for-each循环:增强的for循环,JDK1.5推出的,用来输出数组和集合中每一个元素的值。
for(数据类型 变量 : 数组名){
变量:临时保存元素的值
}
数据类型必须跟数组是同一个类型
案例:Demo1
public class Demo1 {
//for-each:增强的for循环,主要用来输出数组中每一个
//元素的值
//格式:for(数据类型 变量 : 数组名){
// 变量:临时保存数组中每一个元素值
// }
public static void main(String[] args) {
int[] ary = new int[100];
for(int i=0;i<=ary.length-1;i++){
ary[i] = i;
}
for(int num : ary){
System.out.println(num);
}
}
}
//Demo2: 创建一个double类型数组ary,包含200个
//元素,分别把1~200之间的每一个整数依次给ary数组
//中元素赋值
//使用两种for循环,分别输出每一个元素的值。
public class Demo2 {
public static void main(String[] args) {
double[] ary = new double[200];
for(int i=0;i<=ary.length-1;i++){
ary[i] = i+1;
}
//for-each
for(double num : ary){
System.out.println(num);
}
//for
System.out.println();
System.out.println();
System.out.println();
for(int i=0;i<=ary.length-1;i++){
System.out.println(ary[i]);
}
}
}
总结:for-each循环结构简单,功能较为单一,仅仅只能取出元素的值。for循环操作数组元素,功能强大,但是结构复杂。
案例:Demo3
public class Demo3 {
//创建一个int类型数组ary,包含了500个元素,分别把
//1~500之间的每一个整数依次给ary数组元素赋值。
//1 使用两种for循环输出每一个元素的值
//2 累加求和:求出所有元素的累加之和
// sum = sum + ary[i]
//3 求出元素的平均值:
public static void main(String[] args) {
int[] ary = new int[500];
//1 给元素赋值
for(int i=0;i<=ary.length-1;i++){
ary[i] = i+1;
}
//2 for输出每一个元素值
for(int i=0;i<=ary.length-1;i++){
System.out.println(ary[i]);
}
//3 for-each输出每一个元素值
for(int num : ary){
System.out.println(num);
}
//4 累加求和:sum = sum + ary[i]
int sum = 0;
for(int i=0;i<=ary.length-1;i++){
sum = sum + ary[i];
}
System.out.println("元素累加之和:"+sum);
//5 元素平均值
double avg = sum/500.0;
System.out.println("元素平均值:"+avg);
}
}
2)数组的初始化:在创建数组的同时直接给数组元素赋值,称为数组的初始化。数组的初始化分为两种,静态初始化和动态初始化。
3)静态初始化:
格式:
数据类型[] 数组名 = { 元素值1,元素值2,元素值3...};
eg:
int[] ary = {1,2,3,4,5,6,7,8,9,10};
在静态初始化中,不需要指定元素的个数,有多少个元素值,就有多少个元素。
案例:Demo4
public class Demo4 {
//静态初始化:
//格式:
//数据类型[] 数组名={元素值1,元素值2,元素值3...};
public static void main(String[] args) {
int[] ary = {1,2,3,4,5,6,7,8,9,10};
System.out.println(ary.length);
for(int num : ary){
System.out.println(num);
}
}
}
public class Demo5 {
public static void main(String[] args) {
double[] ary = {1.33,2.56,3.87,4.91,
5.66,6.99,7.43,8.11,9.99,
100.66};
//使用两种for输出每一个元素的值
for(int i=1;i<=ary.length-1;i++){
System.out.println(ary[i]);
}
for(double num : ary){
System.out.println(num);
}
//求出所有元素累加之和,可以考虑使用for-each求出
//累加之和
double sum=0;
for(double num : ary){
sum = sum + num;
}
System.out.println("元素累加之和:"+sum);
}
}
4)动态初始化:
格式:
数据类型[] 数组名 = new 数据类型[]{ 元素值1,元素值2,元素值3...};
eg:
int[] ary = new int[]{1,2,3,4,5,6,7,8,9,10};
动态初始化中,不要指定元素的个数,有多少个元素值就有多少个元素
案例:Demo6
public class Demo6 {
//动态初始化:
//格式:
//数据类型[] 数组名 =
// new 数据类型[]{元素值1,元素值2,元素值3...}
//动态初始化的时候,不要指定元素的个数,有多少个
//元素值,就有多少个元素
public static void main(String[] args) {
int[] ary = new int[]{100,200,300,
400,500,600,10000,20000};
for(int num : ary){
System.out.println(num);
}
}
}
public class Demo7 {
public static void main(String[] args) {
String[] ary =
new String[]{"徐达","常遇春","李文忠",
"朱文正","冯胜","蓝玉","朱棣",
"戚继光","李如松","卢象升"};
//使用两种for循环分别输出每一个元素的值
for(String str : ary){
System.out.println(str);
}
for(int i=0;i<=ary.length-1;i++){
System.out.println(ary[i]);
}
}
}
2 switch语句
多分支选择语句的一种,功能跟if-else-if很相似,但是由于结构较为复杂,在企业中没有if-else-if使用广泛,但是在嵌套的选择语句中,建议使用switch语句,结构比较清晰。
1)格式:
switch(整型表达式){
case 整数值1:
语句1
break;
case 整数值2:
语句2
break;
case 整数值3:
语句3
break;
...
default:
语句n
}
2)语法规则:首先判断switch中整型表达式的值,整型表达式的值等于某一个分支case中的整数值,执行对应分支case中的语句,遇到break,退出整个switch语句;如果switch中整型表达式的值跟任何一个分支case中的整数值都不同,执行默认default中的语句n。
3)switch中的整型表达式的结果的类型,可以是byte,short,int,char,在jdk1.7以及jdk1.8支持使用String。
4)break:遇到break直接退出switch语句。如果执行完分支case中语句以后,没有遇到break,会继续执行下一个分支case...直到遇到break,退出switch语句。
案例:Demo8
import java.util.Scanner;
public class Demo8 {
//从控制台输入任意的一个整数,输出对应的操作
//1 登录 2 查询 3 注册 4 修改 5 退出
//其他值 输入错误
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入操作(1~5):");
int opt = sc.nextInt();
switch(opt){
case 1:
System.out.println("登录");
break;
case 2:
System.out.println("查询");
break;
// 3 注册 4 修改 5 退出
case 3:
System.out.println("注册");
break;
case 4:
System.out.println("修改");
break;
case 5:
System.out.println("退出");
break;
default:
System.out.println("输入错误");
}
}
}
import java.util.Scanner;
public class Demo9 {
//从控制台输入1~7数字,输出对应星期几
//1 星期一 2 星期二 3 星期三 4 星期四
//5 星期五 6 星期六 7 星期日
//其他值 输入错误
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个整数:");
int num = sc.nextInt();
switch(num){
case 1:
System.out.println("星期一");
break;
case 2:
System.out.println("星期二");
break;
case 3:
System.out.println("星期三");
break;
case 4:
System.out.println("星期四");
break;
case 5:
System.out.println("星期五");
break;
case 6:
System.out.println("星期六");
break;
case 7:
System.out.println("星期日");
break;
default:
System.out.println("输入错误");
}
}
}
import java.util.Scanner;
public class Demo10 {
//从控制台输入一个整数(0~5)作为分数,输出对应的
//优秀,良好,及格,不及格以及输入错误
//5 优秀
//4 良好
//3 及格
//2,1,0 不及格
//其他值 输入错误
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入分数:");
int score = sc.nextInt();
switch(score){
case 5:
System.out.println("优秀");
break;
case 4:
System.out.println("良好");
break;
case 3:
System.out.println("及格");
break;
case 2:
case 1:
case 0:
System.out.println("不及格");
break;
default:
System.out.println("输入错误");
}
}
}
综合案例:从控制台输入两个整数,分别作为年份和月份,根据年份和月份,输出本月有多少天
大月(31天):1,3,5,7,8,10,12
小月(30天):4,6,9,11
2月:闰年 29天 非闰年 28天
月份输入其他值,显示输入错误
if(month==1||month==3||5,7,8,10,12){
31天
}else if(4,6,9,11){
30天
}else if(2){
闰年29天 非闰年28天
}
switch(month){
case 1: 31天 break
case 3: 31天 break
...
case 4: 30天 break
case 6: 30天 break
...
case 2:
if(闰年){
29天
}else{
28天
}
break
}
import java.util.Scanner;
public class Demo11 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入年份:");
int year = sc.nextInt();
System.out.println("请输入月份:");
int month = sc.nextInt();
//1 大月:1,3,5,7,8,10,12
if(month==1||month==3||month==5||
month==7||month==8||
month==10||month==12){
System.out.println("31天");
//2 小月: 4,6,9,11
}else if(month==4||month==6||
month==9||month==11){
System.out.println("30天");
//3 2月:闰年 29天,非闰年28天
}else if(month==2){
if((year%4==0&&year%100!=0)||
year%400==0){
System.out.println("29天");
}else{
System.out.println("28天");
}
}else{
System.out.println("输入错误!");
}
}
} import java.util.Scanner;
public class Demo12 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入年份:");
int year = sc.nextInt();
System.out.println("请输入月份:");
int month = sc.nextInt();
switch(month){
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
System.out.println("31天");
break;
case 4:
case 6:
case 9:
case 11:
System.out.println("30天");
break;
case 2:
if((year%4==0&&year%100!=0)||
year%400==0){
System.out.println("29天");
}else{
System.out.println("28天");
}
break;
default:
System.out.println("输入错误");
}
}
}
3 方法
把具有一定业务功能的代码聚合在一起,可以被外界反复进行调用。
1)格式:
static 返回值类型 方法名(参数列表){
方法体
}
static:下周详细讲,方便方法的调用。静态的。
返回值类型:方法被调用的时候,最终返回结果的数据类型,如果该方法没有返回值,返回值类型的位置使用void。
方法名:方法的标识。
参数列表:0个或者多个参数,当方法被调用的时候,接收外界传入的数据
方法体:是方法的具体实现。
static void show(){
System.out.println("努力学习");
System.out.println("努力工作");
System.out.println("努力挣钱");
}
main(){
System.out.println("调用show()方法之前");
show();
System.out.println("调用show()方法之后");
}
当方法执行结束以后,返回到调用的位置继续往下执行。
2)在main方法中,调用方法
main(){
方法名(参数);
}
main()是程序的入口,程序都是从main方法开始逐行的往下执行,一直执行到末尾为止。
案例:Demo13
public class Demo13 {
//方法:把具有一定业务功能的代码聚合在一起,可以被
//外界反复调用。
//格式:
//static 返回值类型 方法名(参数列表){
// 方法体
//}
//static :静态的,下周讲,方便方法的调用
//返回值类型:方法被调用以后,最终返回的结果的数据
//类型,如果该方法没有返回值,在返回值类型的位置
//使用void。
//方法名:方法的标识
//参数列表:0个或者多个参数,当方法被调用的时候,
//接收外界传入的数据。
//方法体:方法的具体实现。
//main()方法是程序的入口,都是从main()方法开始
//逐行的往下执行,一直执行到末尾为止。
//方法执行结束以后,返回到调用的位置继续往下执行。
}
Java语言基础(8)的更多相关文章
- Java学习总结(二)----Java语言基础
1. Java语言基础 2.1 关键字 定义:被java语言赋予特殊含义的单词 特点:关键字中的字母都为小写 用于定义数据类型的关键字 class,interface,byte,short,i ...
- java语言基础02
一.Java语言基础(常量的概述和使用)(掌握) 1:什么是常量 就是在程序的执行过程中其值不发生改变的量. 2:Java中常量的分类 (1):字面值常量 (2):自定义常量(面向对象部分讲解) 3: ...
- Java之--Java语言基础组成—数组
Java语言基础组成-数组 Java语言由8个模块构成,分别为:关键字.标识符(包名.类名.接口名.常量名.变量名等).注释.常量和变量.运算符.语句.函数.数组. 本片主要介绍Java中的数组,数组 ...
- Java之--Java语言基础组成—函数
Java语言基础组成-函数 Java语言由8个模块构成,分别为:关键字.标识符(包名.类名.接口名.常量名.变量名等).注释.常量和变量.运算符.语句.函数.数组. 本片主要介绍Java中的函数,函数 ...
- Java之--Java语言基础组成(关键字、标识符、注释、常量和变量、运算符)
Java语言基础组成-关键字.标识符.注释.常量和变量.运算符 Java语言由8个模块构成,分别为:1.关键字:2.标识符(包名.类名.接口名.常量名.变量名等):3.注释:4.常量和变量:5.运算符 ...
- Java语言基础(二) Java关键字
Java语言基础(二) Java关键字 Java关键字比较多,我就不列举出来了,只记录一些常用的小知识点: ①Java的关键字只有小写. ②then.sizeof都不是Java的关键字,熟悉C++的程 ...
- Java语言基础(九)
Java语言基础(九) 一.自增运算(++) 自减运算(--) i++ 就是将i+1再赋给 i i-- 是将i-1再赋给 i 对变量i,j来说,i++ 或++i 这里没什么区别,都是将i的值加1后,再 ...
- Java语言基础(八)
Java语言基础(八) 一.数学运算 + - * / % (1)凡是byte short char类型都按int类型的计算 看看上面的代码,为什么出错! 我已经将100转成byte类型,( ...
- Java语言基础(七)
Java语言基础(七) 今天在公司多呆了会,回来晚了 一.自动类型转换 在Java中,数据是可以转换的 例如可以将byte类型的赋给int类型的 这里希望你了解内存的变化,例如 在这里,我想你应该知 ...
- Java语言基础(六)
Java语言基础(六) 前一章提到的, BigDecimal, DecimalFormat等具体用法,这里就不在说了,网上有许多 一.下面让我们看一个例子(自由落体运动位移) 说明: (1).公式是 ...
随机推荐
- vue中自定义指令的使用
原文地址 vue中除了内置的指令(v-show,v-model)还允许我们自定义指令 想要创建自定义指令,就要注册指令(以输入框获取焦点为例) 一.注册全局指令: // 注册一个全局自定义指令 `v- ...
- vue-cli的项目中关于axios的全局配置,结合element UI,配置全局loading,header中做token传输
在src目录中建立plugins文件夹,在文件夹内建立axios.js文件 "use strict"; import Vue from 'vue'; import axios fr ...
- Java 基础篇之注解
注解 注解,其实是代码里的特殊标记,这些标记可以在编译.类加载.运行时被读取,并执行相应的处理.通过使用注解,可以在不改变原有逻辑的情况下,在源文件中嵌入补充一些信息. Annotation 提供了一 ...
- XCTF攻防世界Web之WriteUp
XCTF攻防世界Web之WriteUp 0x00 准备 [内容] 在xctf官网注册账号,即可食用. [目录] 目录 0x01 view-source2 0x02 get post3 0x03 rob ...
- shell sed 替代1
sed -e '/-DLUA_USE_LINUX/s/-lreadline/-lreadline -lncurses/g' Makefile > tmp mv tmp Makefile 全局换- ...
- arm-linux-ar常见用法
1) 创建test.a静态库 arm-linux-gcc -c a.o a.c arm-linux-gcc -c b.o b.c arm-linux-ar -rc test.a ...
- VMware虚拟机下安装CentOS 6.10并配置访问外网
VMware安装包以及CentOS 6.5安装包 链接:https://pan.baidu.com/s/1wQi5GSgp4klXhtd84aoMSA 提取码:9l5y 链接:https://pan. ...
- 创建Sqoop作业,报错Exception in thread "main" java.lang.NoClassDefFoundError: org/json/JSONObject
WARN tool.BaseSqoopTool: Setting your password on the command-line is insecure. Consider using -P in ...
- ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
MFC中ASSERT作为断言语句,括号内内容为TRUE,继续执行:为FALSE终止执行.之后取得当前窗口的系统菜单,在这个菜单中添加字符串资源IDS_ABOUTBOX和菜单资源IDM_ABOUTBOX ...
- 用链式字典树解决POJ2945
首先,我们的思路是用链式的字典树结构,解决poj2945这道题 题意是,统计所有的字符串出现的次数,并依次输出各个次数的数量 例如: input 9 6AAAAAAACACACGTTTTGACACAC ...