java学习9.22

public class shuzi
{
public static void main(String[] args)
{
 int a = 8; int b = 3;
 //a++ = 9; ++a = 9; --a = 7; a-- = 7;
 int x = a++; 
 //x = a; a = a+1;
 int y = ++a; 
 //a = a+1; y = a;
 //x = 8; y = 9;
          System.out.println(a);
 System.out.println(b);
}

}

基本数据类型 有8个 一个字节占8个二进制位 首位是判断正负的符号 0是正 1是负
整数类型 
字节类型 byte 1字节
短整型 short 2字节
整形 int 4字节
长整形 long 8字节
浮点类型  输入的小数是默认的双精度 
单精度 float 4字节  赋值单精度时 float f = 3.1f;
双精度 double 8字节
字符类型 char 2字节
逻辑类型 boolean 1字节 boolean t = true; boolean f = false;
引用类型
变量 String 字符串 String name = "中间的长度是无限的可以随便输入";
数组
接口
数据类型之间的转换
小的数据类型可以向大的数据类型隐式转换,大的数据类型向小的数据类型转换时必须强制转换,要保持不丢精度,小得数据类型没有数据溢出。
byte<short<int<long
long<float(转换时隐式转换)
float<double
int 转 char (根据ASCII表转换,逆转同理) 'a'=97; 'A'=65; '0'=48;
char<String
整数向字符型数据转换时,要按照ASCII码表进行转换。

public class number
{
    public static void main(String [] arges)
  {
       byte b = 1;
       short s = 12;
       int i = 123;
       long l = 12345;
       long ll = 1234567890123456789l;
       float f = 3.12f;
       double d = 5.123;
       char c = '我';
       char a = '1';
       char y = 1;
       boolean t = true;
       System.out.println(b);
       System.out.println(s);
       System.out.println(i);
       System.out.println(l);
       System.out.println(ll);
       System.out.println(f);
       System.out.println(d);
       System.out.println(c);
       System.out.println(a);
       System.out.println(y);
       System.out.println(t);
       String name = "我的名字";
       System.out.println(name);
       //单行注释
/*多行注释
数据类型的转换小数据类型可以向大的数据类型隐式转换
*/
b=s; s=i; i=l; l=f; f=d; 都是隐式转换 name=c;
        l=(byte)b; 
i=c;隐式转换 不溢出
        c=(char)i; 根据ASCII转化
  }
}

赋值运算符是所有运算符中优先级第二低的运算符,最低的是后++ 后--。
算术运算符 + - * / % 
自加 自减运算 ++ -- 
int a =8;
int b =3;
a+b = 11; a-b = 5; a*b = 24; a/b = 2; a%b = 2;
a ++ = 9; ++ a = 9;  a -- = 7; -- a = 7;
int x = a ++;   
x = a; 
a = a + 1;
int y = ++ a;
a = a +1;
y = a;
x=8; 
y=9;


字符串与任何数据类型相加是 数据的 拼接
String num = "123";
println (num + 123); 输出的是 123123
println (num + 123 +1); 输出的是 123124
println (123 + 1 + num); 输出的是 124123
运算顺序是从前往后的
println (num + ());


byte a = 3;
byte b = 4;
byte c = a + b;
是会报错的 因为在运算时 会把数据类型转换成 int 数据类型的 会转换的类型有 byte short char 
汉字转换或者其他的事物在进行运算时 会转换成unicode码

public class ZuoYe
{
public static void main(String[] args)
{
double a = 123.5678;
double b = (double)(a * 100);
b = b + 0.5;
int c = (int)b;
//double d = (double) c/100;
 double d = c / 100.0;
//前式得到的是一个float类型,后式得到的是整形。
         //原因:因为()优先级大于除/,所以(int)(a*100+0.5)的结果是一样的,都是int型;然   //后分母不同,得到的类型自然不同
//double a = 123.567;  a = (a*100+0.5)/100.0;
  System.out.println(d);
}
}

1.标识符
(1)概念:java中,给类名、变量名、方法名、数组名、文件名起名字的有效字符序列
(2)合法的标识符
a.由字母、数字、下划线、美元符号组成,且首字符不能以数字开头
b.不能以关键字和保留字作为标识符
c.对大小写敏感
(3)关键字和保留字
48个关键字
2个保留字


2.变量、常量、数据类型
(1)常量:程序运行时,容器里的数据不能被改变,如数字、true、false


(2)数据类型
根据数据类型所占用的内存空间不同,1字节占8个二进制位(bit)
a.基本数据类型
byte 字节整型 约束:整数,1字节,-128--127
short 短整型 约束:整数,2字节,-2的15次方--2的15次方-1
int 整型 约束:整数,4字节,-2的31次方--2的31次方-1
long 长整型 约束:整数,8字节,-2的63次方--2的63次方-1


float 单精度浮点类型 约束:小数,4字节,-2的31次方--2的31次方-1
double 双精度浮点类型 约束:小数,8字节,-2的63次方--2的63次方-1

char 字符类型 约束:字符,2个字节,有且仅有一个字符,必须用''引起
boolean 逻辑类型 约束:true/false,占1bit
b.引用数据类型
数组
类:String(字符串)
接口
(3)变量
a.变量的声明
数据类型 变量名;


说明:数据类型约束了该变量,只能存放该类型的数据,且决定了该变量的取值范围


b.变量的赋值
变量名 = 数据;

说明:等号左右两边的数据类型保持一致

c.变量的使用
System.out.println(变量名);
运算


3.数据类型的转换
(1)自动类型转换
小的数据类型 赋值 给大的数据类型,会自动提升为大的数据类型

(2)强制类型转换
大的数据类型 赋值给 小的数据类型,必须强制转换为小的数据类型,且小的容器能够容纳大的数据


注意:字符--整数:ASCII


4.运算符
(1)算术运算符
+ - * / % ++ --

注意: 前++的优先级大于赋值运算符
后++的优先级小于赋值运算符


所有的byte、short、char进行运算的时候数据类型会自动提升为int类型


字符串与任何数据类型相加,是拼接

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值