201711671109《Java程序设计》第四周总结(第3章)

教材内容学习

 

3.1运算符与表达式

 

1、算术运算符与算术表达式

加减运算符的优先级是4级

*、/、%运算符的优先级是3级

 

2、自增、自减运算符

++x(--x)表示在使用x前,先使x的值加1(减1)

x++(x--)表示在使用x后,使x的值加1(减1)

 

3、算术混合运算的精度

精度从“低”到”高“排序的顺序是:byte short char int long float double

 

4、关系运算符与关系表达式

关系运算符是二目运算符,用来比较两个值得关系

关系运算符的运算结果是boolean型,当运算符对应的关系成立时,运算结果是true,否则是false

 

5、逻辑运算符与逻辑表达式

逻辑运算符包括&&、||、!。其中&&、||为二目运算符,实现逻辑与、逻辑或:!为单目运算符,实现逻辑非

逻辑运算符的操作元素必须是boolean型

 

6、赋值运算符与赋值表达式

赋值运算符=是二目运算符,左面的操作元素必须是变量,不能是常量或表达式

赋值运算符的优先级较低是14级,结合方向是从左到右

 

7、位运算符

按位与运算符&是双目运算符,对两个整型数据a、b按位进行运算,运算结果是一个整型数据c

按位或运算符|是二目运算符,对一个整型数据a按位进行运算,运算结果是一个整型数据c

按位非运算符~是单目运算符,对一个整型数据a按位进行运算,运算结果是一个整型数据c

按位异或运算符^是二目运算符,对两个整型数据a、b按位进行运算,运算结果是一个整型数据c

 

8、instanceof运算符

instanceaf运算符是二目运算符。左面的操作员是一个对象,右面是一个类

 

3.3if条件分支语句

1、if语句

if语句是单条件单分支语句。即根据一个条件来控制程序执行的流程

语法格式:

if(表达式){

若干语句

}

 

2、if-else语句

if-else语句是单条件双分支语句

语法格式:

if(表达式){

若干语句

}

else{

若干语句

}

 

3、if-else if-else语句

if-else if-else语句是多条件分支语句

语法格式:

if(表达式){

若干语句

}

else if(表达式){

若干语句

}

else{

若干语句

}

 

4、switch开关语句

switch语句是单条件多分支语句

定义格式如下:

switch (表达式){

case 值1 : 语句1

break;

case 值2 : 语句2

break;

...

default : 语句n break; }

 

5、循环语句

(1)for循环语句

语法格式;

for(表达式1;表达式2;表达式3){

若干语句

}

(2)while循环语句

语法格式:

while(表达式){

若干语句

}

(3)do-while

语法格式:

do{

若干语句

}while(表达式)

 

6、break与continue语句

       循环中break之后的语句都将被跳过,并且循环的执行也将终止,而转去执行循环之后的其他语句。如果在一组嵌套循环中执行break语句,仅会退出break语句的最内层循环;continue语句与break语句类似,但它不会使循环结束。执行continue语句时,循环会跳出该语句之后直到循环结尾处的所有语句。否则,循环将和平常一样执行。continue通常用来根据某个条件绕过循环中的一组语句,否则,循环会继续执行。

 

代码编写:

import java.util.*;
public class  Sum {
    public static void main(String args[]) {
        Scanner scanner=new Scanner(System.in);
        System.out.println("请输入两个整数:");
        int a,b;
        a=scanner.nextInt();
        b=scanner.nextInt();
        int sum=a+b;
        System.out.println("两数之和为:"+sum);
        
        Sqrt() ;
        Area();
    }
    
    public static void Sqrt() {
        Scanner scanner=new Scanner(System.in);
        System.out.println("请输入一元二次方程的参数:");
        int a,b,c;
        double x1,x2;
        //do {
        a=scanner.nextInt();
        b=scanner.nextInt();
        c=scanner.nextInt();
        System.out.println("该方程为:"+a+"x*"+"+"+b+"x"+"+"+c+"=0");
        if ((b*b-4*a*c)<0) {
            System.out.println("该方程无实数根");
        }
        else {
            x1=(((-b)+Math.sqrt((b*b)-(4*a*c)))/(2*a));
            x2=(((-b)-Math.sqrt((b*b)-(4*a*c)))/(2*a));
            if (x1==x2) {
                System.out.println("该方程的根为:"+x1);
            }
            else
            System.out.println("该方程的根分别为:"+x1+"和"+x2);
            }
            //}}while((b*b-4*a*c)<0);
        
    }
    
    public static void Area() {
        Scanner scanner=new Scanner(System.in);
        System.out.println("请输入三角形的三条边:");
        int a,b,c,p;
        a=scanner.nextInt();
        b=scanner.nextInt();
        c=scanner.nextInt();
        p=(a+b+c)/2;
        double S;
        S=Math.sqrt(p*(p-a)*(p-b)*(p-c));
        System.out.println("该三角形的面积为:"+S);
    }

}

 

教材中遇到的问题:

 

学习进度表:

    

 代码行数(新增/累积)博客量(新增/累积)学习时间(新增/累积)重要成长
目标5000行30篇400小时 
第二周60/1751/48/24

类与子类

 

 

 

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值