Java基础(3)

基本数据变量的声明

  • 方式:
    • 首先声明变量,再进行变量的赋值
int i ;//变量的声明
i = 10//变量的复制
 -声明变量的同时进行变量的赋值
int i = 10;//变量的声明与赋值

类型转换

  • 应用环境:在某种场合对于一个变量的范围进行限制,因此我们需要对该变量进行类型转换。

  • 注意:发生类型转换的前提是:类型之间相互兼容。

  • 类型

    • 自动转换(隐式转换):小范围类型的变量赋值给大范围类型的变量
    • 强制转换(显式转换):把大类型的变量赋值给小类型的变量,会损失精度。
      • 强转的语法: 目标类型 变量 = (目标类型)大类型变量;
      • 实例:
 int i = 223byte by = (byte)i;
  • 注意
    在一个运算表达式中,如果存在不同的类型数据运算时,默认将所有的低类型变量或者值向该表达式的最高类型转换,再运算
        sh = sh + 1;        //系统默认数据类型为int 所以此式中的1为int型。
                            //在进行运算时,如果数据类型不同,则先将数据类型
                            //进行转换,在计算。故此表达式错误
        sh += 1;            //这种表达不会出现类型转换,故此表达式正确。

运算符

  • 定义:对数据进行运算的符号
  • 分类:

    • 算术运算符:基本数据类型进行数学运算:

      • 类型:+,-,*,/,%,++,–
      • 注意
        • “+” 是一种特殊的运算符。不但可以基本数据的加法运算,还可以代表正号表示,最特殊还是可以进行字符串的拼接。
        • “++”:自增运算符,对本身值加1,但是其处于运算值的位置的左边则是先使用运算值,再进行自加,若位于运算值的右边则是先进行自加运算,再使用自加后的值,“–”也是如此。
    • 位运算:对二进制数据进行运算

      • 类型:&(与)、|(或)、~(按位取反)、^(异或)、<<(左移)、>>(有符号右移)、>>>(无符号右移)
      • 注意:移位运算符主要使用在对2的次幂进行乘除运算时,为了提高效率。使用时,左移多少位,等同于给原值乘2的多少次幂;有符号右移多少位,等同于给原值除以2的多少次幂,无符号右移,正数时,与有符号右移一致,负数时则会产生错误
    • 关系运算符:是对数据进行关系比较使用。

      • 类型:>,<,==,<=,>=,!=
      • 注意:关系运算符计算结果是一个boolean值(true/false),==不但可以对基本数据类型的值进行是否相等比较,还可以对引用数据类型的虚地址进行比较,使用在条件表达式中
    • 逻辑表达式:

      • 类型:&,|,!,&&,||
      • 注意:逻辑运算主要对关系运算符的结果进行运算,产生的结果值是布尔值(true/false)
      • &与&&的异同点:两个都是且的意思,&表示不管前面是true还是false都要运行后面;&&表示只有前面是true时才运行后面的条件表达式,工作常用。
      • |与||的异同点:两个都是或的意思,| 表示不管前面是true还是false都要运行后面;|| 表示前面是true,后面不运行,工作中常用。

流程控制

  • 定义:在编写代码时,需要使用一定的逻辑对执行流进行控制,此时对执行流进行控制的逻辑就叫做流程控制。
  • 分类:

    • 顺序结构:指令按照开始到结束一次执行的流程顺序就是顺序结构

    • 分支结构:在满足条件情况下,去执行某些操作

      • if条件语句:

        • 特定条件下执行某个操作——-if(条件表达式){//满足条件时执行的代码}

        • 二选一操作——–if(条件表达式){//满足条件时执行的代码}else{//不满足条件时执行的代码}

        • 多选一操作——-if(){}else if(){}else if(){}else{}
        • 特殊的多选一操作—-if(){}else if(){}else if(){}else if(){}
      • 注意:

        • 多选一操作总要执行一个语句,而特殊的多选一操作只有满足条件之一才能执行,否则不执行
        • if经常使用在满足一定范围的条件执行语句中
      • switch语句

        • 注意:
          • 在特定值一对一的进行分支选择时使用该分支语句
          • switch关键字后面括号中的值或者特定类型的变量允许出现的类型:byte、short、int、char、枚举,jdk1.6以后可以有String类型
        • 格式:
switch(值、特定类型的变量){
    case1//该分支执行命令
        break;
    case2//该分支执行命令
        break;
    case3//该分支执行命令
        break;
    case4//该分支执行命令
        break;
    default:
        //默认执行语句
}
  • 循环结构:对相同结构的代码进行便捷处理测结构语句

    • 分类:
    while(条件表达式){
        //循环体
    }

    其执行过程:先判断,在循环

        do{
            //循环体
        }while(条件表达式);

    如果现在对于控制循环的变量值,并且变换规律稳定:

    for(int i =0i<10;i++){ 
                //循环体
            }

break、continue和return的用法及实例

break:可以用在分支语句中结束当前的分支,还可以用在循环语句中,如果没有标记,那么结束所在循环,如果有标记使用,那么就结束标记的那个循环。通常用在switch和循环中。

  • 实例
    无标记的单层循环
        //nested loop example
        for(int i=0; i<3; i++) {
            for(int j=0; j<3; j++) {
                if(i == 1 && j==2) {
                    break;
                }
            System.out.println("i="+i+",j="+j);
            }
        }
        System.out.println("");

这里写图片描述
嵌套循环中,break只结束内层循环,并不结束外层循环

添加标志后可以结束任意循环(OUT表示标志,一定要写在所要结束循环的前面)。
     //nested loop with flag
        OUT:
        for(int i=0; i<3; i++) {
            for(int j=0; j<3; j++) {
                if(i == 1 && j==2) {
                    break OUT;
                }
            System.out.println("i="+i+",j="+j);
            }
        }   

这里写图片描述

continue:只能用在循环语句中,没有标记时结束其所在循环的本次循环进入所在循环的下一次循环,有标记时,结束所标记循环的本次循环,进入标记循环的下一次循环。
不带标记的嵌套循环

        //nested loop example
        for(int i=0; i<3; i++) {
            for(int j=0; j<3; j++) {
                if(i == 1 && j==1) {
                    continue;
                }
            System.out.println("i="+i+",j="+j);
            }
        }
        System.out.println("");

这里写图片描述

带标记的嵌套循环

//nested loop with flag example 

        OUT:
        for(int i=0; i<3; i++) {
            for(int j=0; j<3; j++) {
                if(i == 1 && j==1) {
                    continue OUT;
                }
            System.out.println("i="+i+",j="+j);
            }
        }

这里写图片描述

return
作用:
(1)返回方法指定类型的值(这个值总是确定的),也可以是对象
(2)方法的结束
方式:
  (1)有返回类型 例如:return i;
(2)无返回类型 return;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值