【有书共读(第1期)】《明解Java》笔记:第2章

官方小结:
  • 变量可以自由存取数值等数据。需要变量时,赋予其类型和名称,进行声明。
  • 在从变量中取出值之前,必须进行初始化或赋值,将值赋给该变量。初始化是在创建变量时赋予初始值,赋值则是将值赋给创建好的变量。
  • 变量是在需要时进行声明的。另外,最好在声明中赋上初始值,明确将变量初始化。
  • final变量通过初始化或赋值,只赋入一次值。在给常量赋予名称时可以使用该变量。
  • 在诸多的类型中,Java语言提供的标准类型是基本类型。
  • int型是一种表示整数的整形。
  • 像13这样的常量称为整数常量。
  • double型是一种表示实数(浮点数)的浮点型。
  • 像3.14这样的常量称为浮点型常量。
  • 用于表示字符串(字符序列)的是String型。该类型不是基本类型。
  • 执行运算的符号是运算符,作为运算对象的表达式则是操作数。运算符根据操作数的个数分为3类:一元运算符、二元运算符、三元运算符。
  • 用括号括起来的运算会优先执行。
  • 在“字符串+数值”或“数值+字符串”的运算中,数值要转换为字符串之后再进行拼接。
  • 读入通过键盘输入的值时使用标准输入流。Scanner类的next…方法用来读取标准输入流中的字符。
  • 通过生成随机数,可以创建随机的值。Random类的nexe…方法用来生成随机数。
  • 通过“整数/整数”运算得到的商是舍去小数部分后的整数值。
Finersoft按阿里规范格式化后的代码:
Finersoft的课后作业
2-1
package com.finersoft.chap02.homework;

/**
 * 名称:作业2-1<br />
 * 说明:
 * @author Finersoft
 * @date 2018年3月23日
 */
public class Ex0201 {

    /**
     * @param args
     */
    public static void main(String[] args) {
            // x是int型变量
            int x;
            // y是int型变量
            int y;
            //定义一个浮点型变量z
            double z;
            
            // 把63赋给x
            x = 63;
            // 把18赋给y
            y = 18;
            
            //错误说明
            // 把63.0赋给x:Type mismatch: cannot convert from double to int
            //x = 63.0;
            // 把18.1赋给y:Type mismatch: cannot convert from double to int
            //y = 18.1;
            
            //解决办法:加强制转换或修改参数定义类型
            // 把63.0赋给x:Add cast to 'int'
            x =(int) 63.0;
            // 把18.1赋给y:Change type of 'y' to 'double'
            //y = 18.1;
            z=18.0;
            
            // 显示x的值
            System.out.println("x的值是" + x + "。");
            // 显示y的值
            System.out.println("y的值是" + y + "。");
            // 显示z的值
            System.out.println("z的值是" + z + "。");
            // 显示合计值
            System.out.println("合计值是" + (x + y) + "。");
            // 显示平均值
            System.out.println("平均值是" + (x + y) / 2 + "。");

    }

}
2-2
package com.finersoft.chap02.homework;

import java.util.Scanner;

/**
 * 名称:作业2-2 <br />
 * 说明:编写一个程序对三个整数赋值,并计算合计值和平均值。
 * 
 * @author Finersoft
 * @date 2018年3月23日
 */
public class Ex0202 {

    /**
     * @param args
     */
    public static void main(String[] args) {
        Scanner stdIn = new Scanner(System.in);

        try {
            System.out.println("本程序用于输入三个数,并输出总计和平均值。");
            System.out.print("请输入整数值a:");
            int a = stdIn.nextInt();
            System.out.print("请输入整数值b:");
            int b = stdIn.nextInt();
            System.out.print("请输入整数值c:");
            int c = stdIn.nextInt();
            
            System.out.println("你输入的a、b、c为:"+a+"、"+b+"、"+c);
            System.out.println("三数之和为:"+(a+b+c));
            System.out.println("三数之平均数为:"+((a+b+c)/3));
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            if (stdIn != null) {
                stdIn.close();
            }
        }
    }
}
2-3
package com.finersoft.chap02.homework;

import java.util.Scanner;

/**
 * 名称:作业2-3<br />
 * 说明:显示键盘输入的数字。
 * 
 * @author Finersoft
 * @date 2018年3月23日
 */
public class Ex0203 {
    public static void main(String[] args) {
        Scanner stdIn = new Scanner(System.in);

        try {
            System.out.print("请输入整数值:");
            int a = stdIn.nextInt();
            System.out.println("你输入的是:" + a+"。");
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            if (stdIn != null) {
                stdIn.close();
            }
        }
    }
}
2-4
package com.finersoft.chap02.homework;

import java.util.Scanner;

/**
 * 名称:作业2-4<br />
 * 说明:对键盘输入的数字加10输出,对键盘输入的数字减10再输出 。
 * @author Finersoft
 * @date 2018年3月23日
 */
public class Ex0204 {
    public static void main(String[] args) {
        Scanner stdIn = new Scanner(System.in);

        try {
            System.out.print("请输入整数值:");
            int a = stdIn.nextInt();
            System.out.println("加10之后的值是:" + (a+10)+"。");
            System.out.println("减10之后的值是:" + (a-10)+"。");
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            if (stdIn != null) {
                stdIn.close();
            }
        }
    }
}
2-5
package com.finersoft.chap02.homework;

import java.util.Scanner;

/**
 * 名称:作业2-5 <br />
 * 说明:编写一个程序对两个浮点数赋值,并计算合计值和平均值。
 * 
 * @author Finersoft
 * @date 2018年3月23日
 */
public class Ex0205 {
    public static void main(String[] args) {
        Scanner stdIn = new Scanner(System.in);

        try {
            System.out.println("本程序用于输入两个浮点数,并输出总计和平均值。");
            System.out.print("请输入浮点数值a:");
            double a = stdIn.nextDouble();
            System.out.print("请输入浮点数值b:");
            double b = stdIn.nextDouble();
            
            System.out.println("你输入的a、b为:"+a+"、"+b);
            System.out.println("两数之和为:"+(a+b));
            System.out.println("两数之平均数为:"+((a+b)/2));
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            if (stdIn != null) {
                stdIn.close();
            }
        }
    }
}
2-6
package com.finersoft.chap02.homework;

import java.util.Scanner;

/**
 * 名称:作业2-6 <br />
 * 说明:编写一个程序接收三角形的底边长和高,并输出三角形的面积。
 * 
 * @author Finersoft
 * @date 2018年3月23日
 */
public class Ex0206 {
    public static void main(String[] args) {
        Scanner stdIn = new Scanner(System.in);

        try {
            System.out.println("本程序用于接收三角形的底边长和高,并输出三角形的面积。");
            System.out.print("请输入三角形的底a:");
            double a = stdIn.nextDouble();
            System.out.print("请输入三角形的高b:");
            double b = stdIn.nextDouble();

            System.out.println("你输入的底(a)、高(b)为:" + a + "、" + b);

            System.out.println("三角形的面积为(底*高/2,a*b/2):" + (a * b / 2));
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            if (stdIn != null) {
                stdIn.close();
            }
        }
    }
}
2-7
package com.finersoft.chap02.homework;

import java.util.Random;

/**
 * 名称:作业2-7<br />
 * 说明:随机数:生成1到9中一个值,生成-9到-1中的一个值,显示10到99中的一个值。
 * 
 * @author Finersoft
 * @date 2018年3月23日
 */
public class Ex0207 {
    public static void main(String[] args) {
        Random rand = new Random();
        //rand.nextInt的值域[0,n),所以左右取极限
        // [1,9]=[1,10) = [0+1,9+1)
        System.out.println("随机一位正整数:" + (rand.nextInt(9) + 1) + "。");
        // 上面乘以-1
        System.out.println("随机一位负整数:" + ((rand.nextInt(9) + 1) * -1) + "。");
        // [10,99]=[10,100) = [0+10,90+10)
        System.out.println("随机两位正整数:" + (rand.nextInt(90) + 10) + "。");
    }
}
2-8
package com.finersoft.chap02.homework;

import java.util.Random;
import java.util.Scanner;

/**
 * 名称:作业2-8<br/>
 * 说明:输入一个整数,显示这个整数前后5个数范围内的随机数
 * 
 * @author Finersoft
 * @date 2018年3月23日
 */
public class Ex0208 {
    public static void main(String[] args) {
        Scanner stdIn = new Scanner(System.in);
        try {
            System.out.println("本程序用于输入一个整数,显示这个整数前后5个数范围内的随机数。");
            System.out.print("请输入整数值a:");
            int a = stdIn.nextInt();
            Random rand = new Random();
            // a的前后5个数,包括a自己,就是11个数,所以随机数肯定是11个,开区间定义如下 [0,11)
            // 怎么用0-10和a来表示a的前后5个数?
            // 把a-5再加上随机数[0,11)应该就可以了。
            // 最小 a-5+0
            // 最大a-5+10
            // 哎,倒指头算出来的公式
            System.out.println("输入数前后五个数以内的随机数可能为:" + (a -5+ rand.nextInt(10)));
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            if (stdIn != null) {
                stdIn.close();
            }
        }
    }
}
2-9
package com.finersoft.chap02.homework;

import java.util.Random;

/**
 * 名称:作业2-9<br />
 * 说明:随机数:生成0.0到1.0中一个值,生成0.0到10.0中的一个值,显示-1.0到1.0中的一个值。
 * @author Finersoft
 * @date 2018年3月23日
 */
public class Ex0209 {
    public static void main(String[] args) {
        Random rand = new Random();
        //rand.nextDouble的值域[0.0,1.0),所以左右取极限
        // [0.0,1.0)
        System.out.println("随机大于等于0小于1数:" + (rand.nextDouble())+ "。");
        // 上面乘以10
        System.out.println("随机大于等于0小于10数:" + (rand.nextDouble()*10)+ "。");
        // [0.0,1.0)*2-1.0
        System.out.println("随机大于等于-1小于1数:" + (rand.nextDouble()*2-1)+ "。");
    }
}
2-10

package com.finersoft.chap02.homework;

import java.util.Scanner;

/**
 * 名称:作业2-10<br />
 * 说明:用键盘分两次输入你的姓和名,在程序中输出打招呼
 * 
 * @author Finersoft
 * @date 2018年3月23日
 */
public class Ex0210 {
    public static void main(String[] args) {
        Scanner stdIn = new Scanner(System.in);

        try {
            System.out.print("您的姓是:");
            // 读入1行字符串
            String s1 = stdIn.nextLine();
            System.out.print("您的名是:");
            // 读入1行字符串
            String s2 = stdIn.nextLine();
            // 显示
            System.out.println("你好" + s1+s2 + "先生。");
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            if (stdIn != null) {
                stdIn.close();
            }
        }
    }
}
您的姓是:Finer
您的名是:Soft
你好FinerSoft先生。
全部评论
超棒!
点赞 回复 分享
发布于 2018-03-23 23:02

相关推荐

asdasdasdasdas:19岁,不容易啊可能升个本会好点,现在学历歧视太严重了
点赞 评论 收藏
分享
评论
点赞
5
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务