Java系列之Java基础(下)

版权声明


注释

注释的作用:提高代码的可读性
注释分类:

  • 单行:用//放在要注释文字的前面,这样编译器就会忽略//后的文本

例如:

//被注释的文本
  • 多行: 用/* */ 包含文本,这样其中的文本会被编译器所忽略
    例如:
/*被注释的文本1
被注释的文本2*/
  • 文档注释:用/** */包含文本,它是Java特有的注释。注释内容可以被JDK工具Javadoc解析,生成一套该程序的网页形式的说明文档。

基本数据类型转换

自动转化(隐式转化)

Java内部支持自动将数值进行类型提升,即可以将一个数赋值给更大数值范围的变量,就叫做自动类型转换( 也叫隐式类型转换)。所有的数字类型,包括整型和浮点型彼此都可以进行转换。
要实现自动类型的转换,需要满足两个条件:
1、两种类型彼此兼容
2、目标类型取值范围必须大于源类型。
例如:

//正确隐式转化
byte a=20;
int b=a;
System.out.println(b)   //自动把byte转化为int类型

float c=15.5F;      //浮点数类型默认为double类型,所以后缀要加F或者f
double d=c;        //自动把float转化为double类型

在例子中为byte类型的a赋值时,整数类型数值默认为int,这等于是让int类型转化为byte类型。是否违反了转化的规则呢?

其实java语言在设计时,如果整数常量没有超出数据类型的取值范围,那么是允许直接进行赋值
注意这种赋值只对常量适用,对变量不适用

强制转化(显式转化)

前面我们说了在Java内部类型支持把小类型转化为大类型,那么我们能不能把大类型的转化为小类型的,答案是true 。那就是强制转化
格式:转化什么类型就在前面加上(类型)

注意:强制转化可能会导致精度缺失
例如:

//double类型转化为int类型
double a=15.9;
int b=(int)a;   //把double类型强制转化为int类型
System.out.println(b);  //打印出来的b结果为15  精度缺失了小数部分
                       //注意是缺失不是四舍五入

Java语句结构

Java代码执行结构有三种:

  • 顺序结构
  • 选择结构
  • 循环结构

顺序结构

顺序结构即按着顺序来执行的结构,Java默认的顺序为先后顺序。
例如:

int a=5;
int b=3;
int c=90;
System.out.println(a);
System.out.println(b);
System.out.println(c);

结果:
在这里插入图片描述
从结果来看,表明Java语句默认是从上到下顺序执行的。


选择结构

选择结构也叫分支结构,根据条件执行不同的分支,常用的分支有两种:

  • if…else…结构
  • switch case 结构
if…else…结构
  • if语句
    格式:
    if(判断条件){
    满足条件执行的代码
    }
if(5>3) {
			System.out.println("作者:元芳,你怎么看");
		}

结果:
在这里插入图片描述

  • if…else 双分支
    格式:
    if(判断条件){
    满足条件执行的代码
    }else{
    不满足条件执行的代码
    }
if(5<3) {
			System.out.println("作者:元芳,你怎么看");
		}else {
			System.out.println("元芳大人");
		}

结果:
在这里插入图片描述

  • if…else…多分支
    格式:
    if(判断条件1){
    满足条件1执行的代码
    }else if(判断条件2){
    满足条件2执行的代码
    }else{
    都不满足执行的代码
    }
if(5<3) {
			System.out.println("作者:元芳,你怎么看");
		}else if(9<23) {
			System.out.println("元芳,你怎么看");
		}else {
			System.out.println("元芳大人,你怎么看");
		}

结果:
在这里插入图片描述

if这种结构的判断条件通常结果为一个布尔值。


switch…case结构

格式:
switch(表达式){
case 值1:
执行语句;
break;
case 值2:
执行语句;
break;

default:
执行语句;
break;
}
其中的表达式的值可以是整数类型char类型枚举类型 ,JDK7及以后的版本又加了字符串类型

执行过程为:先执行表达式得到一个值,然后把值与case 后面的值匹配,匹配就执行下面的语句 然后执行break 跳出结构,否则就去匹配下一个case 后的值,一直重复下去,直到值全都不匹配就执行default下的语句再跳出结构。

break关键字

每个case分支代码块的最后,通常都要写break语句,这将跳出swtich 语句。如果没有则会顺序执行,我们管其叫为case穿透不建议这样写。但是有时我们可以利用这种穿透写代码能节省很多代码。

例如:
在这里插入图片描述

default关键字

可以省略不写,代码不会报错,但是为了代码的严谨性,建议还是不要省略比较好。


循环结构

根据条件重复执行某段代码。
(1) for循环
用于执行已知循环次数的语句。
(2) while循环
用于执行未知循环次数的语句。只有满足条件才能循环。
(3) do…while循环
用于执行未知循环次数的语句。不管是否满足条件,都至少会执行一~次循环。
(4)特殊语句(关键字)
continue:中断本次循环,直接进入下一次循环。
break:
中断整个循环,即退出循环。

for循环

格式:
for(初始化表达式;条件表达式:循环后执行的表达式(迭代表达式)){
循环体
}
流程图:
在这里插入图片描述
实例:找出50以内能被3整除的数

package com.ew;

public class TestFor {

	public static void main(String[] args) {
		for(int i=1;i<=50;i++) {
			if(i%3==0) {
				System.out.println(i+"能被3整除");
			}
		}	
	}

}

结果:
在这里插入图片描述

while结构

格式:
初始化语句
while(判断语句){
循环体
控制条件语句
}
流程图:
在这里插入图片描述
实例:打印10遍祖国我爱你

package com.ew;

public class TestWhile {

	public static void main(String[] args) {
		int a=1;
		while(a<=10) {
			System.out.println("祖国我爱你");
			a++;
		}
	}

}

结果:
在这里插入图片描述

do…while结构

其与while的差别在于不管满不满足判断语句都会去执行一次循环体语句。

格式
do{
循环体
控制条件语句
}while(判断语句)
流程图:
在这里插入图片描述
实例:基本与while一样。


控制语句

  • break语句 :跳出本层的循环;(只跳出包含此语句的循环);
  • continue语句 :继续 (一般放到循环语句里,不在执行它下面的语句,直接跳到判语句)
  • return 语句:返回 通常用于返回值
    break实例:
package com.ew;

public class TestWhile {

	public static void main(String[] args) {
		int a=1;
		while(a<=10) {
			System.out.println("祖国我爱你");
			if(a==5) {
				break; //当a为5时跳出整个循环
			}
			a++;
		}
	}

}

结果:
在这里插入图片描述
continue实例:

package com.ew;

public class TestWhile {

	public static void main(String[] args) {
		int a=0;
		while(a<10) {
			a++;
			if(a==5) {
				continue;  //当a=5时跳出本次循环
			}
			System.out.println("祖国我爱你"+a);
			
		}
	}

}

结果:
在这里插入图片描述

总结:
break会强制终止循环并跳出循环体。
break语句用于终止最近的循环或它所在switch语句,常用于for循环、switch 两种循环语句。
continue并不会强制终止循环,只是忽略了本次循环剩下的语句。continue语句将控制权传递给它所在的封闭迭代语句的下一次迭代(即跳出本循环,执行下一次循环),适用于while、do while、for 循环语句。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值