java学习笔记2
1.什么是变量?变量的定义格式?要使用变量需要注意什么?
1变量是个容器 用来存储和取用数据
2数据类型 变量名= 变量值
注意:定义变量后,不赋值无法使用
变量有自己的作用域,定义在大括号内
具有相同作用域内不允许定义相同的变量名
2.Java中的数据类型分几类?基本数据类型有哪些?
两大类
基本数据类型
byte(1) short(2) int(4) long(8) float(4) double(8) char(2) boolean(1)
引用数据类型
类 接口 数组 枚举
3.数据类型转换:
隐式转换:由低级专向高级
强制转换:由高级专向低级
面试题:
第一题:
byte b1=3,b2=4,b;
b=b1+b2;e
b=3+4;
哪句是编译失败的呢?为什么呢?
第二句 b1+b2结果为int型,而b是byte型的 想运行要强制转换b=(byte)(b1+b2); e未定义
第三句 和第二句一样 要强制转换
第二题:
byte by = 130;有没有问题?有问题如何解决?结果是多少呢?
byte的取值为-128----127
130为int型 强制转换为byte型
byte= (byte)130;结果为-126
第三题:
byte b = 10;
b++;
b = b + 1;//
哪句是编译失败的呢?为什么呢?
第三句 运算结果为int型 强制转换 b=(byte)b+1;
4.常见的算术运算符有哪些?
答:
+ - / * % ++ --
(1)+运算符的作用有哪些?
求和 拼接
(2)除法和取余的区别?
除法结果是取商 取余是取余数
(3)++和--的使用规则?
单行的时候 先运算后输出
不是单行的时候 如果自增自减符在变量前 先运算后输出 如果自增自减符在后边 先输出后运算
5.常见的赋值运算符有哪些?
= += -= *= /= %=
7.分析以下需求,并用代码实现:
(1)已知一个三位数,请分别获取该三位数上每一位的数值
1 public class Test2{ 2 public static void main(String [] args){ 3 int n=123; 4 int i=(int)(n/100); 5 int j=(int)((n-i*100)/10); 6 int k=n-i*100-j*10; 7 System.out.println("个位:"+k+",十位:"+j+",百位:"+i); 8 } 9 }
(2)例如:123的个位、十位、百位,分别是3、2、1
(3)打印格式"数字123的个位是 3, 十位是 2, 百位是 1"
8.看程序说结果,请不要提前运行?
public class Test1 {
public static void main(String[] args) {
int x = 4;
int y = (--x)+(x--)+(x*10);
System.out.println("x = " + x + ",y = " + y);
}
}
x=2,y=26
练习
1 public class Test4{ 2 public static void main (String [] args){ 3 4 System.out.println("-----------------------------服装商城------------------------------"); 5 System.out.println("品牌\t\t尺码\t\t价格\t\t库存"); 6 7 String ArmaniBrand = "Armani"; 8 double ArmaniSize = 32.1; 9 double ArmaniPrice = 1500.68; 10 int ArmaniCount = 7; 11 12 String bosidBrand = "bosid"; 13 double bosidSize = 19.2; 14 double bosidPrice = 1001.98; 15 int bosidCount = 5; 16 17 String smBrand = "sm"; 18 double smSize = 30.1; 19 double smPrice = 500.48; 20 int smCount = 3; 21 22 23 System.out.println(ArmaniBrand+"\t\t"+ArmaniSize+"\t\t"+ArmaniPrice+"\t\t"+ ArmaniCount); 24 System.out.println(bosidBrand+"\t\t"+bosidSize+"\t\t"+bosidPrice+"\t\t"+ bosidCount); 25 System.out.println(smBrand+"\t\t"+smSize+"\t\t"+smPrice+"\t\t"+ smCount); 26 int AllCount=(ArmaniCount+bosidCount+smCount); 27 double AllPrice=(ArmaniCount*ArmaniPrice+bosidCount*bosidPrice+smCount*smPrice); 28 System.out.println(AllCount); 29 System.out.println(AllPrice); 30 } 31 }
1 public class Test3{ 2 public static void main (String [] args){ 3 double money=85.5; 4 double cost=(money>=50)?money*0.5:money; 5 System.out.println("消费金额:"+cost); 6 } 7 }