Java基础学习笔记整理day2

0 阅读4分钟

public class variableDemo2 {
public static void main(String[] args){
int attack1 = 220;
int attack2 = 210;
int denfense1 = 85;
int denfense2 = 80;
double blood1 = 1012.5;
double blood2 = 1223.3;
double skill1 = 1.2;
double skill2 = 1.3;

        //问题一我方进行一次普通攻击,造成多少伤害,对方还剩多少血量?
double damage1 = attack1 - denfense2;
blood2 = blood2 - damage1;
System.out.println( " 我造成伤害: " +damage1);
System.out.println( " 对方还剩 " +blood2);

        //问题二:我进行技能攻击,造成多少伤害,对方还剩多少血量?
double damage2 = attack1 * skill1 - denfense2;
blood2 = blood2 - damage2;
System.out.println( " 我造成伤害: " +damage2);
System.out.println( " 对方还剩 " +blood2);

    }
}

**总结:1变量定义时要取有含义的名字,方便后面维护

2下面是我的一个错误写法,犯的错误是变量重复声明,貌似没啥问题,需要注意。在同一作用域中,变量可以多次赋值,声明只能一次。**

double blood2 = blood2 - damage1;

3变量使用场景:某个数据的值经常改变

变量的一些注意事项:

1变量只能存一个值

2变量名不能重复

3变量使用前一定要赋值

4一条语句可以连续定义或赋值多个变量例如int a,b,c//a=b=c=10

 

计算机的存储规则:

1计算机中任何数据都是以二进制的形式存储的

2字节是计算机中的最小存储单元,1字节(B)=8比特(bit)

3在java中,int类型的大小是4B/32b

 

基本数据类型

byte b = 127;//1B

short s = 32767;//2B

int i = 2147483647;//4B

long l = 9223372036854775807L;//8B
注意:long类型数据后面一定要有L后缀
float f = 3.14f;//4B
注意:float类型数据后面一定要有f后缀
double d = 3.14;//8B

char c = 'a' ;//2B

boolean bool = true;//1B

整数、小数取值范围大小关系

Double>float>long>int>short>byte

 

标识符(代码中起的名字,例如类名、变量名、方法名等)

命名规范(强制): 1由字母、数字、下划线_、美元符$组成

2区分大小写

3不能以数字开头

4不能是关键字

(非强制)见名知意,驼峰命名

小驼峰(方法、变量): 1一个单词 全部小写

2多个单词 第一个单词全部小写,其余单词首字母大写

大驼峰(类名): 1一个单词 首字母大写

2多个单词 所有单词首字母大写

 

键盘输入代码

import java.util.Scanner;

 

public static void main(String[] args) {
//键盘录入
Scanner sr = new Scanner(System.in);

    //输入整数
int num1 = sr.nextInt();
System.out.println(num1);
//输入小数
double num2 = sr.nextDouble();
System.out.println(num2);
//输入字符(字符串)
String str = sr.next();
System.out.println(str);
}

 

//键盘录入两个整数,求和
public static void main(String[] args) {
Scanner sr = new Scanner(System.in);
System.out.println( " 请输入第一个整数 " );
int num1 = sr.nextInt();
System.out.println( " 请输入第二个整数 " );
int num2 = sr.nextInt();
int result = num1 + num2;
System.out.println( " 两个整数的和是: " + result);

}

 

//输入体重和身高,计算BMI
public static void main(String[] args) {
Scanner sr = new Scanner(System.in);
System.out.println( " 请输入您的体重 " );
double weight = sr.nextDouble();
System.out.println( " 请输入您的身高 " );
double height = sr.nextDouble();
double bmi = weight / ( height * height );
System.out.println( " 您的 BMI " +bmi);
}

 

算术运算符

+加  -减  *乘  /除(取商)  %取余

注意:整数除法结果还是整数

小数(浮点数)直接参与运算,以上运算符的运算结果可能不精确!!!

 

 

 

 //键盘录入一个整数,求个位、十位、百位
public static void main(String[] args) {
//
Scanner sr = new Scanner(System.in);
System.out.println( " 请输入一个整数 " );
int num = sr.nextInt();
//        System.out.println(num);
int no1 = num % 10;
System.out.println( " 个位数是: " +no1);
//获取个位
int no2 = num / 10 % 10 ;
System.out.println( " 十位数是: " +no2);
//获取十位
int no3 = num / 100 % 10;
System.out.println( " 百位数是: " +no3);
//获取百位

    }

获取一个数的各个位置上的数公式

个位:数值%10

十位:数值/10%10

百位:数值/100%10

千位:数值/1000%10

 

 

 

 

 

 

//输入一个秒数,输出时分秒
public static void main(String[] args) {
Scanner sr = new Scanner(System.in);
System.out.println( " 请输入一个秒数 " );
int sec = sr.nextInt();3412
int hour = sec / 3600;
int min = sec % 3600 / 60 ;
int sec1 = sec % 3600 % 60;
System.out.println(hour+ " " +min+ " " +sec1);
}

 

 

数字运算中类型转换

类型不一样不能转换,要转换成相同类型才能运算

         byte<short<int<long<float<double

小----->大:

1隐式转换(前面补0)

触发时机:不同数据类型计算时,默认采用隐式转换,java自动转换,无需写代码

步骤1低于int大小的先转换为int类型2把范围小的先转换为范围大的再进行运算。

大----->小

2强制转换(去掉不要的)

弊端:可能导致精度丢失

触发时机:手动书写代码触发

书写格式:目标数据类型 变量名 = (目标数据类型) 被强转的数据;

int a = 10;

Byte b = (byte) a;