栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

java学习第二天

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java学习第二天

char里面的每一个字符,都有一个对应的数值(每个字符都可以转换成一个整数,这个整数范围是0-65535)
今天目标:

    掌握变量掌握运算符

变量:计算机用来存储可变数据的内存空间
创建变量的过程:

    确定变量的类型和名字(声明变量)给变量赋值(变量的初始化)
public static void main(String[] args){
		byte b1;//声明变量
		
		b1=122;//变量初始化
		System.out.println("第一次赋值:"+b1);//输出b1变量
	
		b1=126;//再次赋值
		System.out.println("第二次赋值:"+b1);//输出b1变量
}


创建变量时可以将两步写在一起的
格式:数据类型 变量名=变量值;

int i1=185;

不建议多个变量在一起声明
如下

int b1,b2,b3,b4;

变量的命名规则(法律):

    以字母、下划线或$开始以字母、数字、下划线、$进行创建变量名

变量的命名规范(道德):

    驼峰命名法:第一个单词以小写字母开始,从第二个单词开始以后的每个单词的首字母都采用大写字母,如startGame见名知意:看见变量名,就知道表示的含义, startGame (开始游戏)

使用变量名之前必须经过声明并初始化

int b1,b2,b3,b4;
System.out.print(b1);//报错,没有进行初始化

b5=10;//报错,没有声明变量类型
System.out.print(b5);

使用变量时需要注意的问题

    重复定义变量名定义的变量初始化后越界了(赋值的数值不能超过数据类型的范围)使用long的数据类型赋值时后面加个L或l。(编译器默认的整数类型是int类型,如果超出int表示的范围就会出错)使用float的数据类型赋值时后面加个F或f。(编译器默认为double(双精度)类型)
int a1;
int a1=128;//重复定义
byte b1=128;//越界了,byte最大可表示为127
long lon=125856954L;
double d1=0.1;//不报错
float f1=0.1f;

键盘扫描器:Scanner
作用:可以接受键盘输入的内容,传输到程序中

键盘扫描器的使用步骤:

    导包 import java.util.Scanner;创建键盘扫描器:Scanner key=new Scanner(System.in);提示用户输入内容接受用户输入的内容 数据类型 变量名=key.next数据类型();使用完后关闭键盘扫描器 key.close()
    报错出现:java.util.InputMismatchException,说明输入的类型与接受的类型不匹配从而导致报错
package day02;
import java.util.Scanner;//导入的包

public class ClassDemo {
public static void main(String[] args) {
	Scanner key=new Scanner(System.in);//创建键盘扫描器
	System.out.println("请输入一个整数:");//提示输入的数据类型
	int num=key.nextInt();//接受用户输入的内容
	System.out.println("你输入的整数是:"+num);//打印输出用户输出的内容
	clos.key();//关闭键盘扫描器
}
}

小案例:键盘输入两个整数,输出两数之和

public static void main(String[] args) {
		Scanner key=new Scanner(System.in);
		
		System.out.println("请输入第一个整数:");
		int i1=key.nextInt();
		
		System.out.println("请输入第二个整数:");
		int i2=key.nextInt();
		
		int sum=i1+i2;
		System.out.println(i1+"+"+i2+"="+sum);
		key.close();
	}

算术运算符:+ - * / %(取余)
注意:

    当使用“/”时,如果左右两边都是整数,就做相除取整运算
public static void main(String[] args) {
		Scanner key=new Scanner(System.in);
		
		System.out.println("请输入第一个整数:");
		int i1=key.nextInt();
		
		System.out.println("请输入第二个整数:");
		int i2=key.nextInt();
		
		double sum=i1/i2;
		System.out.println(i1+"/"+i2+"="+sum);
		key.close();
	}

    如果左右两边有任何一边是小数,就做正常的除法运算
public static void main(String[] args) {
		Scanner key=new Scanner(System.in);
		
		System.out.println("请输入第一个整数:");
		int i1=key.nextInt();
		
		System.out.println("请输入第二个整数:");
		double i2=key.nextDouble();//类型变为了double
		
		double sum=i1/i2;
		System.out.println(i1+"/"+i2+"="+sum);
		key.close();
	}


小面试题:
下面是否可以编译通过

		short s=1;
		short s1=s+s;
		System.out.println(s1);


对于byte ,short,char而言,当发生运算时,运算的结果会被隐式转换成int类型
java中的类型转换:

    自动转换(隐式类型转换):当小范围的数据向大范围的数据类型时,会发生自动类型转换。例如:byte–>int(自动转换)
byte s1=10;
int s2=s1;//byte的s1自动转换为int类型
    强制类型转换(显示类型转换):当大范围的数据向小范围的数据类型时,需要强制类型转换。例如:int–>byte(强制转换)慎用 每个数据类型的范围不同
int s1=10;
byte s2=(byte)s1;//int的s1强制转换为byte类型

上面的小面试需要怎么改才可以编译通过
s+s后结果的数据类型变为了int类型

    强制转换为byte类型数据自动转换更改s1的数据类型
public static void main(String[] args) {
		short s=1;
		short s1=(short) (s+s);//强制转换为byte

		//s+s的结果发生自动转换为了int类型
		//int s1=s+s;
		System.out.println(s1);
	}

强制转换慎用

public static void main(String[] args){
		int s2=130;
		byte s1=(byte)s2;
		System.out.println(s1);
	}



课后小作业

    输入一个天数,计算天数包括多少周和剩余多少天数
public static void main(String[] args){
		Scanner key=new Scanner(System.in);
		System.out.println("请输入你要计算的天数:");
		int day=key.nextInt();
		int aweek=day/7;
		int day1=day%7;
		System.out.println(day+"天有"+aweek+"周"+day1+"天");
		key.close();
	}

    输入圆的半径,计算圆的面积
public static void main(String[] args) {
		Scanner key=new Scanner(System.in);
		System.out.println("请输入要计算圆面积的半径:");
		double r=key.nextDouble();
		double area=r*r*3.14;
		System.out.println("半径为"+r+"圆面积为:"+area);
		key.close();
	}

    输入四位数的卡号,输出四位数上每位数的和,比如 输入:1234 输出:10
public static void main(String[] args) {
		Scanner key=new Scanner(System.in);
		System.out.println("请输入一个四位数:");
		int number=key.nextInt();
		int a=number/1000;
		int b=number/100%10;
		int c=number%100/10;
		int d=number%10;
		int sum=a+b+c+d;
		System.out.println("该四位数和为:"+sum);
		key.close();
	}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/735892.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号