五.while和else的配套使用,引用数据类型

作者: 编程  发布:2019-11-29

  

风流洒脱、达成的对象

1. 掌握java中的数据类型划分
2. 8种基本数据类型的使用及数据类型转换
3. 位运算、运算符、表达式
4. 判断、循环语句的使用
5. break和continue的区别

7.3 条件运算符?

准绳运算符是C的莫斯利安运算符的独步的二个例证。
上面是条件发挥表明式的貌似情势:
expression1?expression2:expression3;
假如expression1为真,整个条件表达式的值和expression2风姿罗曼蒂克致,否则一切成丝件表明式的值和expression3等同。

row = 1
while row<=9:
    col = 1    
    while col <= row:
        print(  str(col)+"*"+ str(row) +"="+str(col * row), end="t")
        col += 1        
    print()    
    row += 1

七、要点

  1. 骨干数据类型及其调换
  2. 选料与循环语句

7.1 if语句

if语句被称之为分支语句或接收语句,因为它提供了一个交汇点,在这里边程序供给接受两条分支中的一条发展。平日的款式如下
if(expression)
statement
如若expression为真,则施行statement,不然跳过。

if else语句的通用格局为:
if(expression)
statement1
else
statement2
如若expression为真,则实行statement1,不然实践statement2。
要是期望在if和else之间有多条语句,必得采纳花括号创立八个代码块。

7.1.1 geichar()和putchar()

getchar(卡塔尔函数未有参数,它回到来自输入设备的下二个字符。ch=getchar(卡塔尔(英语:State of Qatar)与scanf("%c",&ch卡塔尔(英语:State of Qatar)有同样的效能。
putchar(卡塔尔(قطر‎函数打字与印刷它的参数,putchar(卡塔尔与printf有平等的功力。
因为这么些函数仅仅管理字符,所以它们比更通用的scanf(卡塔尔和printf(卡塔尔国函数越来越快况兼更简短。雷同它们无需格式表达符,它们只对字符起成效。

7.1.2 else

法则是黄金时代旦未有花括号指明,else和它最周围的三个if相相配。

三.print()end结尾

java根基程序设计

第七章 C调节语句:分支和跳转

age=30
while True:
    input_age = int(input("Age is :"))
    if input_age == age:
        print("It's right.")
        break
    elif input_age > age:
        print("It's bigger.")
    else:
        print("It's smaller.")       
print("End")

二、数据类型划分

java的数据类型可分为着力数据类型引用数据类型。基本数据类型包括了最大旨的boolean、char、byte、short、int、long、float、double;援引数据类型是以生机勃勃种特有的格局指向变量的实体,这种体制就像于C/C++.

 9159.com 1

7.4 循环帮助花招:continue和break

7.4.1 continue语句

该语句能够用来三种循环方式。当运转到该句时,它将招致剩余的迭代部分被忽视,伊始下二次迭代。
continue的另贰个用项是用作占位符。比如
while!='n')
continue;

7.4.2 break语句

循环中的break语句导致程序终止蕴含它的轮回,并展开程序的下贰个等级。
假设break语句坐落于嵌套循环里,它只影响富含它的最里层的大循环。

break语句用于循环和switch中,而continue仅用于循环。

num = 1
while num<10: 
    print(num)  
    num+=1 

四、数据类型的更动

数据类型自动转换
byte--->short--->int--->long--->float--->double
--------char---> int

/**
*1.数据类型转换
*/
public class DataDemo02{
    public static void main(String [] args){        
            int x = 30;                                 //定义整型变量
            float y = 22.19f;                           //定义浮点型变量
            System.out.println("x/y= " + (x/y) );       //整型变量除以浮点型变量-float类型
            System.out.println("10/0.35= "+(10/0.35));  //整型常量除以浮点型常量-浮点数据
            System.out.println("10/3= "+(10/3));        //整型常量除以整型常量-整型,小数部分被忽略
    }
}

Process started >>>
x/y= 1.3519603
10/0.35= 28.571428571428573
10/3= 3
<<< Process finished. (Exit code 0)

其余类型的多寡都向String转型

/**
*1.定义字符串变量
*2.任何数据类型碰到String类型的变量或者常量之后都向String类型转换
*/
public class DataDemo03{
    public static void main(String [] args){        
            String  str = "billy";                      //定义字符串变量
            int x = 10;                                 //定义整型变量
            str = str + x;                              //改变字符串的内容
            System.out.println("str = "+ str );         //输出

            int i = 1;
            int j = 2;
            System.out.println("i + j = "+ i + j );     //输出 + 表示字符串连接
    }
}

Process started >>>
str = billy10
i + j = 12
<<< Process finished. (Exit code 0)

数据类型强制调换(显示转变) 
显示转变恐怕引致数据遗失,语法:(要调换的数据类型) 变量名称

/**
*1.数据类型强制转换
*/
public class DataDemo04{
    public static void main(String [] args){        
            float  f = 3.15f;                                //定义浮点型变量
            int x = (int)f;                              //强制转换int型变量
            System.out.println("x = "+ x );              //输出
            System.out.println("10/3 = "+ ((float)10/3 ) ); //常量计算使用强制类型转换
    }
}

Process started >>>
x = 3
10/3 = 3.3333333
<<< Process finished. (Exit code 0)

7.6 goto语句

goto语句包含多个部分:goto和叁个标具名称。
格式:
goto label;
.
.
label:statement

只要面生goto,不要使用它;尽管已经习感到常于选取它,试着演练本人不行使。

非not、且and、或or。优先级依次为not,and,or。

五、运算符、表明式与话语

运算符
赋值运算符 (=)
一元运算符(+ - !)
算术运算符(+ - * / %(取模 即:取余数))
9159.com,论及运算符(> < >= <= == !=)
自增 自减 运算符 (++,-- )
逻辑运算符(&&,||,&,|)

对于&(与)来说,要求所有的条件都判断,而如果使用&&(短路与)如果第一个条件为false,则后面的条件将不再判断。
对于|(或)来说,要求所有的条件都判断,而如果使用||(短路或)如果第一个条件为true,则后面的条件将不再判断。

括号运算符((卡塔尔国)
位运算符(&,|,^(异或卡塔尔(英语:State of Qatar),~,<<(左移),>>(右移),>>>(无符号右移))
运算符优先级

9159.com 2
洗练表明式

 9159.com 3
范例:

 9159.com 4

7.2 获得逻辑性

!运算符的预先级极高。它高于乘法运算,和增量运算符的先行级相像,稍差于圆括号。&&运算符的事情发生在此之前级高于||,这两个的优先级都低于关系运算而凌驾赋值运算。
C保证逻辑表明式是从左至右求值的。&&和||运算符是连串的分界点。
&&逻辑符中,仅当侧面准确,才总括右侧。

四.while循环

三、基本数据类型

java语言是强类型语言,对于每黄金年代种多少都定义了令人注指标切实可行数据类型,在内部存款和储蓄器中分红了分裂尺寸的内部存款和储蓄器空间。

byte   1个字节
short  2个字节
int    4个字节
long   8个字节
float  4个字节
double 8个字节
char   2个字节

范围:

9159.com 5

默认值:

9159.com 6

数据溢出

public class DataDemo01{
    public static void main(String [] args){        
            int max = Integer.MAX_VALUE;                    //得到整数的最大值
            System.out.println("整数的最大值:"+max);          //输出最大值
            System.out.println("整数的最大值+1:"+(max+1));    //输出最大值+1
            System.out.println("整数的最大值+2:"+(max+2));    //输出最大值+2
    }
 }

Process started >>>
整数的最大值:2147483647
整数的最大值+1:-2147483648
整数的最大值+2:-2147483647
<<< Process finished. (Exit code 0)

寸头项目

当数码不带有分数或然小数时,能够注明整型变量。如35,-140。 在java中,整数类型可分为byte、short、int、long。对于叁个整型常量,其种类暗中同意就是int型。

字符类型(char)

字符类型在内部存款和储蓄器中占领三个字节,可以用来保存立陶宛语字母等字符。 字符要用大器晚成对单引号(''卡塔尔(قطر‎括起

/**
*1.声明字符类型的变量ch1,ch2
*2.将变量ch1的值设为字符b,ch2的值设为98
*3.输出字符变量ch1、ch2的内容
*/
class TestDemo01{
    public static void main(String [] args){
        char ch1 = 'b';                     //定义字符
        char ch2 = 98;                      //定义字符,整型转字符
        System.out.println("ch1 = "+ch1);   //输出
        System.out.println("ch2 = "+ch2);
    }
}

Process started >>>
ch1 = b
ch2 = b
<<< Process finished. (Exit code 0)

转义字符

9159.com 7

/**
*1.声明字符类型的变量ch1,ch2
*2.将变量ch1的值设为",ch2的值设为\
*3.输出字符变量ch1、ch2的内容,在打印的字符串中直接加入转义字符
*/

class TestDemo02{
    public static void main(String [] args){
        char ch1 = '"';                        //定义转义字符双引号
        char ch2 = '\';                        //定义转义字符反斜线
        System.out.println("ch1 = "+ch1);       //输出
        System.out.println("ch2 = "+ch2);
        System.out.println(""Hello World"");  //直接输出转义字符
    }
}

Process started >>>
ch1 = "
ch2 = 
"Hello World"
<<< Process finished. (Exit code 0)

浮点数类型(float,double卡塔尔(英语:State of Qatar) 
在java中,带有小数点的数值称为浮点数类型。使用浮点型数值时,暗中同意类型是double。

/**
*1.声明浮点型的变量 num1,num2
*2.将变量 num1 的值设为4.0,num2的值设为3.0f
*3.输出num1*num1、num2*num2的值
*/

class TestDemo01{
    public static void main(String [] args){
        float num1 = 4.0;                               //定义float型变量
        float num2 = 3.0f;                              //定义float型变量
        System.out.println("两个小数相乘 "+num1*num1);    //计算两数相乘
        System.out.println("两个小数相乘 "+num2*num2);    //计算两数相乘
    }
}

Process started >>>
E:TestDemo01.java:34: 错误: 不兼容的类型: 从double转换到float可能会有损失
        float num1 = 4.0;                       //定义浮点数
         ^
1 个错误
<<< Process finished. (Exit code 1)

将float num1 = 4.0;改为float num1 = 4.0f;

Process started >>>
两个小数相乘 16.0
两个小数相乘 9.0
<<< Process finished. (Exit code 0)

布尔类型(boolean卡塔尔(英语:State of Qatar) 
布尔(boolean)类型的变量,唯有true(真)和false(假)两种。

/**
*1.声明boolean变量,并赋值true
*2.通常用来控制程序的流程
*/

class TestDemo01{
    public static void main(String [] args){
        boolean flag = true;                //定义boolean变量
        System.out.println("flag="+flag);   //输出
    }
}

7.5 多种选择:switch和break

switch中能够对三个加以的口舌使用多重case标签。
程控依据expression的值跳转到相应的case标签处,然后程序流程继续透过具备盈余的话语,直到再度由break语木正定向。
expression和case标签必得都以整型值,况兼标签必得是常量只怕完全由常量组成的表达式。
假设未有与发挥式值相相称的case标签,那么控拟订位到标签为default的言辞。

  break截安息当前循环体,continue为甘休当次循环。

六、选用与循环语句

貌似的话程序的协会蕴涵以下三种:顺序构造、选择构造、循环布局。那三种分化的构造有三个合作点,都唯有二个输入,也独有叁个言语。
次第布局 
次第至上而下逐行执行,一条语句实践完之后继续实施下一条语句,一直到程序的终极。 
9159.com 8 
接受布局 
基于条件的确立与屏绝定要施行什么样语句的黄金年代种布局。选取构造包含if、if...else、switch。
9159.com 9

if语句

if(度量标准卡塔尔国{
语句1;
语句2;
}

9159.com 10

/**
*1.验证选择结构
*/
public class TestDemo05{
    public static void main(String [] args){        
            int x = 3;                               //定义整型变量x
            int y = 5;                               //定义整型变量y
            System.out.println("**开始比较两个数的大小**");       
            if(x > y){                               //判断x是否比y大
                System.out.println("x比y大!");
            }
            if(x<y){                                 //判断x是否比y小
                System.out.println("x比y小!");
            }
            System.out.println("**比较完成**");
    }
}

Process started >>>
**开始比较两个数的大小**
x比y小!
**比较完成**
<<< Process finished. (Exit code 0)  

if...else语句

if(推断规范卡塔尔(英语:State of Qatar){
语句主体1; 
}else{
语句主体2; 
}
9159.com 11

/**
*1.判断一个数的是奇数还是偶数
*2.判断余数是否为1
*/

class TestDemo05{
    public static void main(String [] args){        
            int x = 4;                               //定义整型变量x  
            if(x % 2 == 1){                          //判断余数是否为1
                System.out.println("x是奇数!");
            }else{
                System.out.println("x是偶数!");
            }
    }
}

Process started >>>
x是偶数!
<<< Process finished. (Exit code 0)  

三目运算符(? : )

变量 = 条件判定?表明式1:表达式2 
基于标准的确立与否,来决定结果为“:”前或“:”后的表明式,假设基准判别为true,则奉行表明式1,为false则施行表明式2

/**
*1.使用三目运算符求出两个数字的最大值
*/

class TestDemo05{
    public static void main(String [] args){
            int max = 0;                             //定义变量保存最大值
            int x = 4;                               //定义整型变量x
            int y = 10;                              //定义整型变量y
            max = (x>y)?x:y;
            System.out.println("最大值为:"+max);    //输出max

    }
}

Process started >>>
最大值为:10
<<< Process finished. (Exit code 0)  

if...else if...else语句

风华正茂旦急需在if..else里决断多个规范化时,就供给if..else if … else语句了,其格式如下:

if(推断标准1卡塔尔{
语句主体1; 
}else if(判别规范2卡塔尔(قطر‎{
语句主体2; 

...//多个else if()语句
else{ 语句主体3; }

class TestDemo05{
    public static void main(String [] args){
            int x = 4;                               //定义整型变量x
            if(x==2){                                //判断x的值是否为2
                System.out.println("x的值是2");
            }else if(x==3){                         //判断x的值是否为3
                System.out.println("x的值是3");        
            }else if(x==4){                         //判断x的值是否为4
                System.out.println("x的值是4");
            }

    }
}

Process started >>>
x的值是4
<<< Process finished. (Exit code 0)

Switch结构

要在广大的精选原则中找到并施行当中叁个切合判别规范的说话时,除了能够应用if..else不断地决断之外,也得以利用另风流罗曼蒂克种更利于的主意即多种选拔——switch语句,语法格式:

switch (表达式){
case 选择值1 : 语句主体 1 ; break ;
case 接收值2 : 语句主体 2 ; break ;
…….
case 选用值n : 语句主体 n ; break ; 
default: 语句主体 ;

要非常注意的是,在Switch语句中甄选值只好是字符或常量。

9159.com 12

/**
*1.判断学生成绩,并给出等级A(90~100),B(>80),C(>70),D(>60),E(0~59)
*/

class TestDemo05{
    public static void main(String [] args){
            int Score = 85;                              //定义一个学生的分数
            switch (Score/10){
                case 10:
                case  9: System.out.println("A级"); break;
                case  8: System.out.println("B级"); break;
                case  7: System.out.println("C级"); break;   
                case  6: System.out.println("D级"); break;
                default: System.out.println("E级"); break;
                }
    }
}

Process started >>>
B级
<<< Process finished. (Exit code 0)

/*
*每一个case语句后面都加上了一个break语句,如果不加入此语句的话,则
*switch语句会从第一个满足条件的case开始依次执行操作。
*/  

不加break,则
Process started >>>
B级
C级
D级
E级
<<< Process finished. (Exit code 0)  

循环构造 
巡回布局则是依照推断标准的树立与否,决定程序段落的进行次数,而以此顺序段落就称为循环主体。

9159.com 13

while循环

while (循环条件判别卡塔尔国{
语句1 ;
语句2 ;

语句n ;
巡回条件改革 ;
}

/**
*1.使用while循环进行累加操作
*
*/

class TestDemo05{
    public static void main(String [] args){
            int i = 1;                               //定义整型变量i
            int sum = 0;                             //定义整型变量,保存累加结果
            while(i <= 100){                         //判断循环条件
                sum = sum + i;          //sum + = i; //执行累加结果
                i++;                                 //修改循环条件
            }
            System.out.println("1~100累加和--->"+sum);//输出
    }
}

Process started >>>
1~100累加和--->5050
<<< Process finished. (Exit code 0)  

do-while循环

do{
语句1 ;
语句2 ;
….
语句n ;
巡回条件转移 ;
}
while (循环条件决断卡塔尔国; 
9159.com 14

/**
*1.使用do...while循环进行累加操作
*
*/

class TestDemo05{
    public static void main(String [] args){
            int i = 1;                               //定义整型变量i
            int sum = 0;                             //定义整型变量,保存累加结果
            do{                      //判断循环条件
                sum = sum + i;          //sum + = i; //执行累加结果
                i++;                                 //修改循环条件
            }
            while(i <= 100);
            System.out.println("1~100累加和--->"+sum);//输出
    }
}

Process started >>>
1~100累加和--->5050
<<< Process finished. (Exit code 0)   

for循环

对此while和do…while二种循环来说,操作时并不一定非要明显的了然循环的次数,而只要开荒者现已显明的领会了巡回次数的话,那么就能够动用别的朝气蓬勃种循环语句——for循环。

for (赋值初值;剖断标准;赋值增减少数量卡塔尔(英语:State of Qatar){
语句1 ;
….
语句n ;
}

9159.com 15

/**
*1.使用for循环进行累加操作
*
*/

class TestDemo05{
    public static void main(String [] args){
            int sum = 0;                             //定义整型变量,保存累加结果            
            for(int i=1;i<=100;i++){            
                sum = sum + i;          //sum + = i; //执行累加结果
            }
            System.out.println("1~100累加和--->"+sum);//输出
    }
}

Process started >>>
1~100累加和--->5050
<<< Process finished. (Exit code 0)



/**
*1.使用多重for循环打印九九乘法表
*
*/

class TestDemo05{
    public static void main(String [] args){
            for(int i=1;i<=9;i++){                  //第一层循环 
                for(int j=1;j<=i;j++){              //第二层循环
                    System.out.print(i+"*"+j+"="+(i*j)+"t");//输出
                }
                System.out.println();//换行
            }

    }
}

Process started >>>
1*1=1   
2*1=2   2*2=4   
3*1=3   3*2=6   3*3=9   
4*1=4   4*2=8   4*3=12  4*4=16  
5*1=5   5*2=10  5*3=15  5*4=20  5*5=25  
6*1=6   6*2=12  6*3=18  6*4=24  6*5=30  6*6=36  
7*1=7   7*2=14  7*3=21  7*4=28  7*5=35  7*6=42  7*7=49  
8*1=8   8*2=16  8*3=24  8*4=32  8*5=40  8*6=48  8*7=56  8*8=64  
9*1=9   9*2=18  9*3=27  9*4=36  9*5=45  9*6=54  9*7=63  9*8=72  9*9=81  
<<< Process finished. (Exit code 0)

巡回中断 
break语句 
break语句能够反逼程序中断循环,当程序试行到break语句时,即会离开循环,继续实施循环外的下三个口舌,借使break语句出以往嵌套循环中的内层循环,则break 语句只会跳出当前层的巡回。

9159.com 16

/**
*1.使用break
*
*/

class TestDemo05{
    public static void main(String [] args){
            for(int i=1;i<=9;i++){                      
                if(i==3){                   //如果i=3,则退出整个循环
                    break;                  //退出整个循环
                }
                System.out.println("i = " + i);//
            }
            System.out.println("循环结束");
    }
}

Process started >>>
i = 1
i = 2
循环结束
<<< Process finished. (Exit code 0)  

continue语句
continue语句能够倒逼程序跳到循环的苗子处,当程序运营到continue语句时,即会终止运作剩余的大循环主体,而是回到循环的起初处继续运营。

9159.com 17

/**
*1.使用continue
*
*/

class TestDemo05{
    public static void main(String [] args){
            for(int i=1;i<=9;i++){                      
                if(i==3){                   //如果i=3,则退出整个循环
                    continue;                   //退出一次循环
                }
                System.out.println("i = " + i);//
            }
        System.out.println("循环结束"); 
    }
}

Process started >>>
i = 1
i = 2
i = 4
i = 5
i = 6
i = 7
i = 8
i = 9
循环结束
<<< Process finished. (Exit code 0)

注意: 9159.com 18

return语句

终止近年来艺术的试行并退出,重返调用该方法的语句处。

/**
*1.使用return
*
*/

class TestDemo05{
    public static void main(String [] args){
            for(int i=1;i<=9;i++){                      
                if(i==3){                   //如果i=3,则退出整个循环
                    return;                 //退出整个方法
                }
                System.out.println("i = " + i);//
            }
        System.out.println("循环结束");

    }
}

Process started >>>
i = 1
i = 2
<<< Process finished. (Exit code 0)
可以看到“循环结束”没有输出,当i=3时,满足执行return,结束整个方法的执行。

 

+加法,-减法,*乘法,/除法,//地板除,%求余,**幂运算。

二.逻辑运算符

生龙活虎.算数运算符

  

若是选用break,那么else也不会实行。

五.while和else的配套使用

num = 1
while num <= 5:
    num += 1   
    print(num)
else:
    print("This is else statement")

六.while的嵌套使用--输出九九乘法表

print()#默认为print(end="n"),想要输出在一行可写为print(end="")

本文由9159.com发布于编程,转载请注明出处:五.while和else的配套使用,引用数据类型

关键词:

上一篇:没有了
下一篇:详情戳击下方链接