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

Java学习--基本数字类型,运算规则及转换问题

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

Java学习--基本数字类型,运算规则及转换问题

1.“+”号规则:

(1)当“+”号两边都是数字类型时,表现加法。

(2)如果“+”号两边中的任意一边出现字符或字符串类型,则表示连接字符串。

  例如:

int  age=18;
int  score=60;
System.out.println("当前年龄为:" + age);//输出:当前年龄为:18
System.out.println(score+ 33); //输出:93

2.基本数据类型(数字类型6种,非数字类型2种)

数字类型:

  • byte  (最小的存整数的数据类型,不常用)  8位,1字节
  • short(较小的存整数的数据类型,不常用)  16位,2字节  -215--215-1
  • int 整型(存整数的)  32位,4字节 :-231 --231 -1  (常用!)
  • long  长整型(存整数的)   64位,8字节:很大很大
  • float  浮点数(存小数)  32位,4字节 :可以存小数(不常用)
  • double  双精度数(存小数) 64位,8字节:很大很大(常用!)

数据类型之间的转换:由低到高,自动转换;由高到低,强制转换

非数字类型2种:

  • boolean布尔类型: 8位,1字节,只能是:true或者false
  •  char  单字符型:   16位,2字节,用于存放一个字符(2**16 个元素)

3.变量的算数运算:

(1)运算符的优先级:

(2)算数运算规则:

+、 -、 *、 / 、% 和小学数学的运算规则一样,先乘除(包括取余),后加减。并且括号优先

重难点:自加和自减

package day02;

public class DataTypeDemo01 {

	public static void main(String[] args) {
		int a=6;
		a++;	//单独使用自加符号,++在前在后都一个样
		System.out.println("a:"+a);   
		int b=6;
		++b;	//单独使用自加符号,++在前在后都一个样
		System.out.println("b:"+b);
		int c=a++;    //++符号在a后面的,是先赋值,后自加
		int d=++b;    //++符号在b前面的,是先自加,后赋值
		System.out.println("c:"+c);
		System.out.println("d:"+d);
	}

}

运行结果:

3.数据类型溢出与转换问题

数据的溢出,主要由于存储空间不足而造成(数据超过了可以存储的范围),数据类型的转换要根据情况选择:自动转换(由低到高,不会损失精度),或者强制转换(由高到低,可能损失精度)。

package day02;

public class DataTypeDemo02 {

	public static void main(String[] args) {
		//int a=10000000000;   //数据的溢出,报错
		long a=10000000000L;   //数字+L来进行长整形的赋值
		System.out.println("a:"+a);
		float b=3.1415926F;  //数字+F来进行float的赋值
		System.out.println("b:"+b);
		double c=6.884112655845525;  //使用小数对变量赋值时,直接量就是double类型
		System.out.println("c:"+c);
		//int d=c;    //数据类型由高到低,需要强制转换才能实现
		int d=(int)c;  //(int)+其他数据类型的变量,完成int类型的强制转换,只保留整数部分
		System.out.println("d:"+d);
		//算数运算时有些情况要特别注意:
		int a1=7;
		int a2=3;
		int b1=a1/a2;
		System.out.println("b1:"+b1);  //整型数除法,只取整数部分
		double a_1=a1;    //数据类型由低到高,自动转换
		double a_2=a2;
		double b_1=a_1/a_2;
		System.out.println("b_1:"+b_1); 
		char k='a';
		int k1=(int)k;    //强制转换如果遇上char类型,则转换的是其对应的字符码
		System.out.println("k1:"+k1); 
		int n=10000000;
		long m=100000000000000000L;
		long answer=n*m;    //注意在大数的乘法过程中,容易产生溢出,因此不建议用int,long这种数据类型
		System.out.println("answer:"+answer); 
	}

}

运行结果:

 4.变量的关系运算

//关系运算,运算符:>,<,==,>=,<=,!=(java中的关系运算符就是这6个,而且,不能用<>代表不等于)

       int  a3=8,a4=9;

       boolean k1=(a3==a4);

       boolean k2=(a3<=a4);

       System.out.println("判断a3,a4是否相等:" + k1);  //关系运算,通过boolean类变量来输出:true 或者 false

       System.out.println("判断a3是否小于等于a4:" + k2);

       System.out.println("判断a3是否大于等于a4:" + (a3>=a4));  //直接通过关系运算表达式输出关系运算结果(不通过变量),但要注意打括号表示运算优先级

输出结果:

课堂练习2(商品折扣计算器)

小程序:商品折扣计算器Calculator,要求:输入商品的原价,输入商品当前的折扣率,输出商品的折后价(折后价是去零头的)

package day02;
	import java.util.Scanner;
public class Calculator {

	public static void main(String[] args) {
		Scanner input=new Scanner(System.in);
		System.out.println("请输入商品的原价:");
		double price=input.nextDouble();  //数据是小数,而且需要运算,因此选择double类型
		System.out.println("请输入商品的折扣率(0-0.99):");
		double rate=input.nextDouble();
		int price2=(int)(price*rate);   //抹零需要double类型转为int类型,是强制转换
		System.out.println("商品折后价格为(抹零):"+price2);
	}

}

运行结果:

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

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

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