/*
* 作者:钟志钢
* 功能:java数据类型与分支结构
* 时间:2013-1-23
*
* 1,基本数据类型:整数、小数(浮点)、布尔、字符类型。
* 2,整数类型:byte, short, int, long.
* byte, 一个字节,8位. short,两个字节,int, 四个字节, long , 8 个字节
* byte数据范围:负的二的八减一次方 到 正的二的八减一次方减一;
* 最高 位是符号位(0为正,1为负),所以要减掉一;因为0有正0和负0,所以负0表示最小的那个负数,所以不用减一。
* 其它数据类型类推。
* 3, 小数:float(单精度), double(双精度);(区别:范围不一样)
* 4, 布尔型:ture与false;
* 5. char,只能一个字符。‘a’,'中',一个char是两个字节。
* char数据进行四则运算时,会先转为ASC码然后进行运算;
* 6,数据运算从高精度到低精度的原则:只能从低精度到高精度转,以免损失精度,除非进行强制转换
* byte < short < int < long < float < doutle;
* 7,算术运算符 + , - , * , / , % ;加减乘除和取模,取模就是求余;
* a++ 相当于 a += 1 或者 a = a + 1 ,先运算,后自加
* ++a 先自加,后运算;
* += 左加,即左边加右边数再赋值给左边;还有-+, *= , /= , %=;
* 8, 关系运算符:== , < , > , >= , <=, != ;等于,小于,大于,大于等于,小于等于,不等于;
* 9,逻辑运算符:与&&, 或者||,非!;
*/
package test;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class 数据类型 {
public static void main (String args[]){
数据类型 ov = new 数据类型();
}
public 数据类型(){
int iaa ;//定义变量
int ia = 3;//初始化
iaa = 10;//赋值
//数据运算精度
float myfloat = 4;//从低精度转到高,
int myint = (int) 1.2;//从高精度转到低,结果会得到1
float f = 1.2f;//小数默认是double,加f之后就相当于强转
double myd = 2.3;
int myint2 = (int) (10 + myd);//当含有多种数据类型时,会以最高的准。
//取模,判断两个数是否能整除
int one = 10;
int two = 8;
//分支评语,即只执行其中一种
switch (one % two) {
case 0:
System.out.println("one 能整除 two");
break;
case 1:
System.out.println("one 除 two 余 1");
break;
case 2:
System.out.println("one 除 two 余 2");
break;
default:
break;
}
//左加+=
one += 10;
one %= 8;//先用ont对8取模,再赋值给one
System.out.println("one = " + one);
//a++与++a;从左到右的运算规则
int mya = 10;
int myb = mya ++;//先运算后自加
//相当于myb = mya ; mya = mya + 1;
//int myb = ++mya;//先自加,看运算
//相当于 mya = mya + 1; myb = mya ;
byte b1 = 127;
short s = 10000;
int i = 100000;
long l = 1000000;
//char
char a = 'a';
char b = 'b';
System.out.println("a + b =" + (a + b));
//其实是ASC码相加,第一个字符对应一个ASC码,并用阿拉伯表示。
//其中中文是由五个数字组成
char c = '中';
char d = '国';
char e = (char) (d + 10000);
System.out.println((c + 0));
System.out.println(d);
System.out.println("c+d" + (c + d ));
System.out.println(e);
//从键盘接收数据并且判断大小关系
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));//从控制台接收数据
try {
System.out.println("请输入第一个数");
String a1 = br.readLine();//准备读取键盘输入的数据,直到用户输入为止
System.out.println("请输入第一个数");
String a2 = br.readLine();
float f1 = Float.parseFloat(a1);
float f2 = Float.valueOf(a2);
if(f1 == f2){
System.out.println("两数相等");
}else if(f1 != f2){
System.out.println("两数不相等");
if(f1 < f2){
System.out.println("第一个小");
}else if(f1 < f2){
System.out.println("第一个大");
}
}
if(f1 <= f2){
System.out.println("f1 <= f2");
}if(f1 >= f2){
System.out.println("f1 >= f2");
}
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}finally{
if(br != null){
try {
br.close();
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
}
}
}