第一天学习知识:八大基本数据类型-类型之间转换-运算符-课堂练习

import java.util.Scanner;
import java.util.*;

public class Demo1 {

public static void main(String[] args) {
	// byte 代表的是 数据类型
	// a 代表的是 变量名称
	//127 代表的是 将127这个值 赋予a这个变量
	/*
	 * 在java语言中 = 不是等于的意思,
	 * 得从右往左看,= 赋值符号
	 * 它的意思是 将127赋值给 a这个变量
	 * 
	 * 如果在同一个方法体中,包含2个相同的变量名
	 * 那么该变量名,不能指定其他的数据类型
	 */
	byte b = 127;
	System.out.println(b);
	/*
	 * Byte 字节 8 位
	 * 最小值 -128(-2^7)
	 * 最大值   127(-2^7-1)
	 */
			
	short s = 128;
	System.out.println(s);
	/*
	 * short 字节 16 位
	 * 最小值 -32768(-2^15)
	 * 最大值   32767(-2^15-1)
	 */
	
	int i = 100000;
	/*
	 * int 字节 32 位
	 * 最小值 -2147483648(-2^31)
	 * 最大值   2147483647(-2^31-1)
	 */
	
	long l = 10000L;
	/*
	 * short 字节 64 位
	 * 最小值 -3223372036854775808(-2^63)
	 * 最大值   3223372036854775807(-2^63-1)
	 * 在赋值的值后面增加一个L,理论上L不分大小写,
	 * 但是若是写成‘l’的话,很容易和数字1混淆,所以最好使用大写
	 */
	
	float f = 3.14F;
	/*
	 * Float 单精度浮点类型 32 位
	 * 在赋值的值后面增加一个f,大小写均可,建议大写
	 */
	
	double d = 2.67767D;
	/*
	 * Double 单精度浮点类型 64位
	 */
	
	/*
	 * 因为在java当中,java所有的代码都是需要进行预编译的,
	 * 它会将所有变量都存在内存当中
	 * 
	 * java没有一个实时的内存回收体系
	 * Java的内存溢出,需要有良好的编码习惯,去酌情使用我的变量的数据类型
	 * 
	 */
	
	char ch = '中';//'A'
	System.out.println(ch);
	/*
	 * Char 它是按字符类型去存取数据 16位的  Unicode 字符
	 * A B C D 
	 * 并不是所有的中文字都是两个字节的,有一些特殊的中文字节会在2-6个字节之间
	 * 所以,一般来说,我们不会把中文用作char类型来存储
	 * String 字符类型(了解)
	 * 对于我们的Java数据类型来说,最后能被计算机认识,都必须转换成二进制代码 0 1 0 1 
	 */
	
	boolean flag = true;
	flag = false;
	/*
	 * True 真
	 * False 假
	 * 在我们做判断条件的时候,经常会使用到该数据类型
	 */
//从小到大,需要所有的整数类型
	/*
	 * byte
	 * short
	 * int
	 * long
	 */
//从小到大,需要所有的浮点类型
	/*
	 * float
	 * double
	 */
//字符类型
	/*
	 * char
	 */
//布尔类型
	/*
	 * boolean
	 */
	byte b1;;
	
	//System.out.println(b1);
	/*
	 * 八大基本数据类型有没有默认值
	 * 数据类型             默认值
	 * Byte 	0
	 * Short 	0
	 * Int 		0
	 * Long 	0L
	 * Float 	0.0f
	 * Double 	0.0d
	 * Char 	'u0000'
	 * Boolean 	false
	 */
	
	byte b2 = 127;//+1 -128  +2 -127 +3 -126
	int i2 = 130;//3
	/*
	 * 3 127
	 * 2 -128
	 * 1 -127
	 * 0 -126
	 */
	
	b2 = (byte)i2;
	System.out.println(b2);

//练习 short类型和int之间的转换

	short s3 = 32767;//+1 -32768 +2 -32767 +3 -32766
	int i3 = 32770;
	/*
	 * 3 32767
	 * 2 -32768
	 * 1 -32767
	 * 0 -32766
	 */
	
	s3 = (short)i3;
	System.out.println(s3);
	
	
	float f3 ;
	double d3 = 3.84d;
	
	f3 = (float) d3;
	System.out.println(f3);
	
	i3 = (int)d3;
	System.out.println(i3);
	
	char ch3 = 'A';
	i3 = ch3 ;
	System.out.println(i3);
	
	boolean flag2 = true;
	boolean flag3;
	
	
	
	
	
	
	/*
	 * 数据类型之间的转换
	 * 1、条件是 转换的数据类型必须兼容
	 * 2、需要转换的类型会在赋值符号后面 = ,加上需要转换的类型
	 * (type)value type
	 * 3、隐式类型转换 (直接赋值)
	 * 4、类型转换,如果是同类型之间,正数不够时,会使用负数,
	 * 产生一个循环,如果说是整数转换成浮点值,丢失精度,直接会将小数点后面的值,
	 * 统统替换掉
	 * 5、如果字符类型和数字之间转换,字符其实会将字符转换成ASCII值
	 */

//运算符
//算术运算符
/*
+ A+B 得出一个值,然后赋值给变量
-
*
/
% 取余数
++ 两个加号,代表着自增1
– 两个减号,代表和自减1
两个加号在后面,代表着先取值,后加法i++
两个加号在前面,代表着先加法,后取值++i
两个减号在后面,代表着先取值,后减法i–
两个减号在前面,代表着先减法,后取值–i
字符串和数字需要连接时,会使用到+作为两个数之间拼接
System.out.println(“第一个” + i–);
*/

	int i6 = 10,j6 = 10;
	int sum = i6/j6;
	System.out.println(sum);
	
	//i6 = i6 + 1;   这两行代码是等同的
	//i6 += 1;
	
	
	//关系运算符
	/*	== 检查两个操作数是否相等,如果相等,条件为真,不等为假
		!= 检查两个操作数是否不等,如果相等,条件为假,不等为真
		>  检查左边的操作数是否大于右边的操作数,如果大于,条件为真,否则为假
		<  检查左边的操作数是否小于右边的操作数,如果小于,条件为真,否则为假
		>=  检查左边的操作数是否大于或等于右边的操作数,如果大于或等于,条件为真,否则为假
		<=  检查左边的操作数是否小于或等于右边的操作数,如果小于或等于,条件为真,否则为假
		*/
	//如果,用作于判断使用
	if(i6 == j6){
		System.out.println("两个数相等");
	}else{
		System.out.println("两个值不相等");
	}

//练习:求0-100之间所有单数的和
// int sum1 = 0;
// for(int i7 = 0;i7<=10;i++){ ------------ 此处i7++写成了i++导致死循环
// //我们如何找到所有的100以内的奇数或者单数
// if(i7 % 2 == 1){
// //找到之后,把这些值全部累加起来
// sum1 = sum1 + i7;
// }
// }
//
// System.out.println(sum1);
//将累加后的值,做一个输出

	int sum1 = 0 ;
	for (int i7 = 0;i7 <=100 ;i7++){
		//我们如何找到所有的100以内的奇数或者单数
		if(i7 % 2 == 1){
			//找到之后,把这些值全部累加起来
			sum1 = sum1 + i7;
		}
	}
	System.out.println(sum1);
	//将累加后的值,做一个输出 

//1.现有会员卡号 86372 取出每一位中的值
// int a[] = {8,6,3,7,2};
// System.out.print("现有会员卡号: ");
// for(int q = 0;q <= 4;q++){
// System.out.print(a[q]);
// }
// System.out.println();
// System.out.println(“从左往右第一位数字为:”+a[0]);
// System.out.println(“从左往右第二位数字为:”+a[1]);
// System.out.println(“从左往右第三位数字为:”+a[2]);
// System.out.println(“从左往右第四位数字为:”+a[3]);
// System.out.println(“从左往右第五位数字为:”+a[4]);

	//1.现有会员卡号 86372 取出每一位中的值		
	
	Scanner s1 = new Scanner(System.in);
	System.out.println("请输入一串数字");		
	int n = s1.nextInt(); 
	System.out.print("从右往左依次输出分别为:");
	for( int q = n;q > 0;){
		int w = q % 10;
		q = q / 10;
		System.out.print(w+" ");
	}System.out.println();

// System.out.print(“从右往左依次输出分别为:”);
// for(int q = 86372;q > 0;){
// int w = q % 10;
// q = q / 10;
// System.out.print(w+" ");
// }System.out.println();
/*2.计算并写出计算过程

	int i=2;
	int j = ++i + i++ + i-- + i++;
	int k = i++ + --i + i++ + i++;
	计算最后i j k 的值

*/
int i8=2;
int j8 = ++i8 + i8++ + i8-- + i8++;
int k8 = i8++ + --i8 + i8++ + i8++;
System.out.println(i8);
System.out.println(j8);
System.out.println(k8);
/*2.计算并写出计算过程

	int i=2;
			i=3   i=4   i=3   i=4
	int j = ++i + i++ + i-- + i++;  = 13
			3     3+3   3+3+4 3+3+4+3
			i=5   i=4   i=5   i=6
	int k = i++ + --i + i++ + i++;	=17
			4     4+4   4+4+4 4+4+4+5    
	计算最后i j k 的值

*/

}	

}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值