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 的值
*/
}
}