1.基本数据类型
java基本数据类型 四大类型 整数类型、小数(浮点)类型、布尔类型、字符类型 整数类型 可以表示一个整数,常用的整数类型有:byte,short,int,long 补充:一个字节有8个位组成(第一位是符号位,0表示正数、1表示负数) 主要区别是 数据大小范围,请大家看一个小案例。 byte 占用内存 一个字节 范围:-128至127 short 占用内存 两个字节 范围:-32768至32767 int 占用内存 四个字节 范围:-2147483648至2147483647 long 占用内存 八个字节 范围:-?至? 补充:范围的公式 -2^(字节数*8-1)—-2^(字节数*8-1)+1 小数(浮点)类型 可以表示一个小数,常用的小数(浮点)类型有: float(单精度),double(双精度) float 占用内存 四个字节 范围:3.4E-38至3.4E+38 只能提供7位有效数字 double占用内存 八个字节 范围:1.7E-308至1.7E+308 可提供16位有效数字 布尔类型 可以表示"真"或者"假",类型是boolean 比如: boolean spBool=true; //给变量spBool定义为boolean型并赋值为真 字符类型 可以表示 单个字符,字符类型是char。char是两个字节(可以存放汉字) 多个字符我们称为字符串,在java中String这种数据类型表示,但是String不是基本数据类型,而是类,类是复合数据类型。 结论:在java中,对char进行运算的时候,直接当做ascii码对应的整数对待。 思考:int test1='a'+'b'; 输出值195 char test2='a'+'b'; 输出值? char test3='中'; 输出值195 //Unicode码对待 结论: 在Java中,对Char进行运算的时候,直接当做了ascii码对应的整数对待。
2.变量
定义变量 1、什么是定义变量? int a; 这就是定义了一个变量,变量名是a float haha;这也定义了一个变量,表示一个float类型的小数,变量名是haha 初始化变量 在定义变量的时候,就给值 int a=45;这就是初始化变量a 给变量赋值 比如你先定义了变量:int tt; 然后再给值tt=780; ->这就是给变量赋值
3.数据类型转换
自动转换 int a=1.2; double b=3; 结论:数据类型可以自动的从低精度-->高精度。高精度不能转为低精度。 byte小于<short小于<int小于<long小于<float小于<double 在java中的小数默认是double数据类型 float赋值时要在值后加f long赋值时要在值后加l 强制转换 如何把高精度转成低精度? int a=(int)1.2; 练习int a=1; int a=1; double b=4.5; double b=4.5; a=b; b=a; 报错 成功 计算过程中的转换 int a=3; int b=a+3.4; 结论:当一个整数和一个double运算的时候,运算结果会向高精度转换
4.运算符
java中常用的算术运算符是:+加、-减、*乘、/除、%取模 其实%运算可以得到两个数的余数。 算术运算符:++自加、--自减。 这两个运算符比较特殊,请大家思考一下: int a=90; a++; //等同于(a=a+1) 这时a等于? 91 int b=89; b--; //等同于(b=b-1) 这时b等于? 88 int a=56; int b=a++; System.out.println(b); 56 System.out.println(a); 57 ***int b=++a;相当于a=a+1再将b=a; int b=a++;相当于b=a再将a=a+1。 ---------------------------------------------------------------- 算术运算符:+=左加、-=左减、/=左除、%=左取模 请大家看看几个案例,就明白了: int a=90; a+=90; (相当于a=a+90) 请问,a现在等于多少? 180 float b=89.7f; b+=a; (相当于b=b+a) 请问,b现在等于多少? 269.7 int a=56;int b=90; a-=34;b%=a; (相当于a=a-34,b=b%a) System.out.println(b); 2 System.out.println(a); 22 ---------------------------------------------------------------- 运算符 关系运算符 1、==等于;2、>大于;3、<小于;4、>=大于等于;5、<=小于等于;6、!=不等于 int a=90;int b=90; if(a==b){System.out.println("ok1");} b--; if(a>b){System.out.println("ok2");} if(a>=b){System.out.println("ok3");} 请编写一个程序,该程序可以接收两个数(可以是整数,也可是小数)并判断两个数是大于?小于?还是等于? 程序代码: import java.io.*;//载入IO流包 public class Demo5{ public static void main(String []args){ try{ //输入流,从键盘接收数 InputStreamReader isr=new InputStreamReader(System.in); BufferedReader br=new BufferedReader(isr); //给出提示 System.out.println("请输入第一个数"); //从控制台读取一行数据 String a1=br.readLine(); System.out.println("请输入第二个数"); String a2=br.readLine(); //把String转为float float num1=Float.parseFloat(a1); float num2=Float.parseFloat(a2); if(num1>num2){System.out.println("第一个大");} if(num1==num2){System.out.println("相等");} if(num1<num2){System.out.println("第二个大");} }catch(Exception e){ e.printStackTrace(); } } } ---------------------------------------------------------------- 运算符--逻辑运算符 用于判断逻辑关系的运算符 1、&&与;2、||或;3、!非 &&与的运算关系,真真为真,其它都为假。 ||或的运算关系,假假为假,其它都为真。 !非的运算关系,真取假,假取真 请大家看个案例,请问输出什么: int a=90;int b=90; if(a==b || a>8){System.out.println("ok1");} b--; if(a>b && a>45){System.out.println("ok2");} if(!(a<=b)){System.out.println("ok3");}