习题:
1,变量
变量的组成部分:
数据类型,变量名,值
2、变量的声明⽅式
变量的声明方式有哪些:
先声明再赋值:数据类型 变量名 变量名=值
int a;a=10;
生明并赋值:数据类型变量名=值
int a=10;
多个同类型变量的声明与赋值 数据类型 变量1,变量2,变量3=值3,变量4,变量5=值5
int a,b,c,d = 44,e=55;
a=11;
b=22;
c=33;
3,数据类型
Java中基本数据类型有哪些?对应所占字节空间?
基本数据类型 整数 byte 1字节
short 2字节
int 4字节
long 8字节
小数/浮点数 float 4字节
double 8字节
布尔 boolean 1字节 true/false(仅可描述”真”或”假”)
字符 ASCLL
Unicode
char 2字节 0~65535
引用数据类型 字符串
数组
对象
4,数据类型
字符类型可不可以直接赋值整数数据?为什么?有什么注意事项?
可以直接赋值整数数据,因为char类型取值范围在0~65535
注意:不能赋值负数
5,运算符
⼀元运算符++,定义在操作数前和操作数后有什么区别?
++在操作数前,是先+1,再执行
++在操作数后,是先执行,再+1
6、(运算符)执⾏完以下代码, b 的结果是多少?
int a = 5 ;
int b = (a++) + (--a) +(++a);
先计算第一个括号,表达式值为5,a的值为6
再计算第一个括号,表达式值为5,a的值为5
继续计算第一个括号,表达式值为6,a的值为6
所以最后b=5+5+6=16
b结果为16
7、(基本类型的运算)⼀家商场在举⾏打折促销,所有商品都进⾏8 折优惠。⼀位程序员把这个逻 辑代码写成:
short price = ...; // 先计算出原价
short realPrice = price * 8 / 10; //再计算出打折之后的价格
问:
[7.1] 这段代码是否正确?
[7.2] 如果正确,假设price 为100,那计算之后的realPrice值为多少?
[7.3] 如果不正确,应该怎么改正?
(7.3)不正
(7.3)80
(7.3)因为price为short类型,该数值*8/10之后为0
所以为int类型,不能够赋值给short类型的realprice
所以改正如下:
8,表达式
int n, 请⽤表达式表示n的个位数,⼗位数,百位数:
Int n,m;
n:个位数n%10,十位数n/10%10,百位数n/100
m=n%10;
n=n/10;
print(m);
m=n%10;
n=n/10;
println(m);
m=n%10;
n=n/10;
println(m);
以上式子为推导过程,所以:
Int a=n%10; //个位数
Int b=n/10%10; //十位数
Int c=n/100; //百位数
9,表达式
int a,b; 请⽤表达式判断b是不是a的因⼦:
表达式1为:(a%b==0)?true:false;
表达式2为 c=a%b==0;
import java.util.Scanner:
public class Test2{
public static void main(String [] args){
boolean a;
int b,c;
Scanner sc= new Scanner(System.in);
b=sc.nextInt();
c=sc.nextInt();
a=b%c==0;
System.out.println (a);
}
}
10,控制台输⼊
使⽤控制台输⼊的流程:
import java.util.Scanner; //1.将外部class⽂件的功能引⼊到⾃身⽂件中
Scanner input = new Scanner(System.in); //2,声明Scanner变量
input.nextInt(); //3.使⽤对应的⽅法,进⾏输⼊
11,控制台输⼊、逻辑运算符
通过控制台输⼊Java成绩和Web成绩:
(11.1) 当Java成绩和Web成绩均⼤于95分时,输出“成绩达标! ”
反之输出“还要加油! ”。
import java.util.*;//导包
public class Test11{
public static void main(String [] args){
Scanner input=new Scanner(System.in);//接收成绩
System.out.println("请输入您的java成绩: ");
double javaScore=input.nextDouble();
System.out.println("请输入您的web成绩: ");
double webScore=input.nextDouble();
if((javaScore>95&&webScore>95)){
System.out.println("成绩达标");
}else{
System.out.println("还要加油");
}
System.out.println("程序结束");
}
}
(11.2)当Java成绩等于100和Web成绩⼤于85分时,输出“成绩达标! ”
反之输出“还要加油! ”。
import java.util.*;//导包
public class Test11{
public static void main(String [] args){
Scanner input=new Scanner(System.in);//接收成绩
System.out.println("请输入您的java成绩: ");
double javaScore=input.nextDouble();
System.out.println("请输入您的web成绩: ");
double webScore=input.nextDouble();
if((javaScore==100&&webScore>85)){
System.out.println("成绩达标");
}else{
System.out.println("还要加油");
}
System.out.println("程序结束");
}
}
(11.3)当Java成绩等于100分或者Web成绩等于100分时,输出“成绩达标! ”
反之输出“还要加油! ”。
import java.util.*;//导包
public class Test11{
public static void main(String [] args){
Scanner input=new Scanner(System.in);//接收成绩
System.out.println("请输入您的java成绩: ");
double javaScore=input.nextDouble();
System.out.println("请输入您的web成绩: ");
double webScore=input.nextDouble();
if((javaScore==100&&webScore==100)){
System.out.println("成绩达标");
}else{
System.out.println("还要加油");
}
System.out.println("程序结束");
}
}
(11.1)(11.2)(11.3)三位一体方法不用ifelse
class Test11{
public static void main(String[] args){
double javaScore = 100.0;
double webScore = 95.0;
System.out.println(javaScore >95 && webScore >95?"成绩达标!":"还要加油");
System.out.println(javaScore ==100 && webScore >85?"成绩达标!":"还要加油");
System.out.println(javaScore ==100 || webScore ==100?"成绩达标!":"还要加油");
}
}