第二章 数据类型和运算符(尚学堂java300集笔记,含自写编程题答案)

第二章 数据类型和运算符

  • 注释

    • 最好写完每个类或方法都要加注释
    • 单行注释:使用“//”开头
    • 多行注释/行内注释: 以“ /* ”开头以“ */ ”结尾
    • 文档注释: 以“ /** ”开头以“ */ ”结尾,注释中包含一些说明性的文字及一些JavaDoc标签(后期写项目时,可以生成项目的API)
  • 标识符使用规范

    • 表示类名的标识符:每个单词的首字母大写,如Man, GoodMan
    • 表示方法和变量的标识符:第一个单词小写,从第二个单词开始首字母大写,我们称之为“驼峰原则”,如eat(), eatFood()

变量的分类

类型声明位置从属于生命周期
局部变量方法或语句块内部方法/语句块从声明位置开始,直到方法或语句块执行完毕,局部变量消失。使用前必须先声明、初始化
成员变量(实例变量)类内部,方法外部对象对象创建,成员变量也跟着创建;对象消失,成员变量也跟着消失。如不自行初始化,它会自动初始化
静态变量(类变量)类内部,static修饰类被加载,静态变量就有效;类被卸载,静态变量消失。使用static定义,如不自行初始化,它会自动初始化
  • 常量通常指的是一个固定的值,例如:1、2、3、’a’、’b’、true、false、”helloWorld”等。在Java语言中,主要是利用关键字final来定义一个常量。
    常量命名:大写字母和下划线:MAX_VALUE

  • Java的数据类型可分为两大类:基本数据类型(primitive data type)和引用数据类型(reference data type)

    • 基本数据类型:
      • 数值型- byte、 short、int、 long、float、 double

      • 字符型- char

      • 布尔型-boolean

    • 用数据类型:类(class),接口(interface),数组
  • 浮点数不精确,不要用于比较

  • 字符型在内存中占2个字节,在Java中使用单引号来表示字符常量

    以后学的String类,其实是字符序列(char sequence)

  • boolean类型有两个常量值,true和false,在内存中占一位(不是一个字节),不可以使用 0 或非 0 的整数替代 true 和 false

DAY4

  • 运算符
名称示例
算术运算符(二元运算符):+,-,*,/,%(一元运算符):++,–
赋值运算符=
拓展运算符+=,-=,*=,/=
关系运算符>,<,>=,<=,==,!=
逻辑运算符&&(短路与),||(短路或),!,^,&,\,instanceof
位运算符&,|,^,~,>>,<<
条件运算符?:
字符串连接符+
  • 短路与和短路或采用短路的方式。从左到右计算,如果只通过运算符左边的操作数就能够确定该逻辑表达式的值,则不会继续计算运算符右边的操作数,提高效率
  • 逻辑与、逻辑或、逻辑非的优先级一定要熟悉!(逻辑非>逻辑与>逻辑或)。如:a||b&&c的运算结果是:a||(b&&c),而不是(a||b)&&c
  • 操作比较大的数时,要留意是否溢出,尤其是整数操作时。当有可能溢出时,可以提前将变量转为long类型,即在变量前加(long)或在变量后加L。

使用Scanner获取键盘输入

package pro02;

import java.util.Scanner;

public class TestScanner {
	public static void main(String[] args){
		Scanner  scanner = new Scanner(System.in);
		System.out.println("请输入名字:");
		String name = scanner.nextLine();
		System.out.println("请输入年龄:");
		int age = scanner.nextInt();
		
		System.out.println("################");
		System.out.println(name);
		System.out.println("来到地球"+age*356+"天");		
	}
    
}

作业

一、1.CD 2.C 3.A 4.AB 5.AB

三、

package pro02;

import java.util.Scanner;

public class test1 {
	
	public static void main(String[] args){
		
		Scanner  scanner = new Scanner(System.in);
		System.out.println("请输入圆的半径:");
		double r = scanner.nextDouble();
		double c = 2*3.14*r;
		double s = 3.14*r*r;
		
		
		System.out.println("该圆的半径为:R="+r);
		System.out.println("该圆的周长为:C=2*3.14*"+r+"="+c);
		System.out.println("该圆的面积为:S=3.14*"+r+"*"+r+"="+s);
			
	}

}
package pro02;

public class test2 {

	public static void main(String[] args) {
	
		int base = 10000;
		System.out.println("本金:"+base);
		long year1huo = Math.round(base + base*0.0035);
		long year1ding = Math.round(base + base*0.015);
		long year2huo = Math.round(base + base*0.0035*2);
		long year2ding = Math.round(base + base*0.021*2);

		System.out.println("活期1年本金总计:"+year1huo);
		System.out.println("定期1年本金总计:"+year1ding);
		System.out.println("活期2年本金总计:"+year2huo);
		System.out.println("定期2年本金总计:"+year2ding);
			
	}
	
}
package pro02;

import java.util.Scanner;

public class test3 {
	public static void main(String[] args){
		Scanner scanner = new Scanner(System.in);
		System.out.println("请输入一个位正整数:");
		int a = scanner.nextInt();
		int ge = a%10;
		int shi = ((a-ge)/10)%10;
		int bai = ((a-shi*10-ge)/100)%10;
		int qian = ((a-bai*100-shi*10-ge)/1000)%10;
			
		ge = ge<5?ge+5:ge-5;
		shi = shi<5?shi+5:shi-5;
		bai = bai<5?bai+5:bai-5;
		qian = qian<5?qian+5:qian-5;
		
		int answer=ge*1000+shi*100+bai*10+qian;
				
		System.out.println("加密后的数字为:"+answer);
		
	}
	
}
  • 参考代码
import java.util.Scanner;
public class Test2_3 {
	public static void main(String[] args) {
		Scanner scanner=new Scanner(System.in);
		System.out.println("请输入一个正整数:");
		int number=scanner.nextInt();
		int a,b,c,d;
		//将数字每一位取下来
		a=number/1000;
		b=(number-a*1000)/100;
		c=(number-a*1000-b*100)/10;
		d=number%10;
		//将每位数字都加五取余
		a=(a+5)%10;
		b=(b+5)%10;
		c=(c+5)%10;
		d=(d+5)%10;
		//交换位置并输出最后结果
		System.out.println("加密后的数字为:"+(d*1000+c*100+b*10+a));
	}
}
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值