java入门第二篇
-
一、数据类型篇
-
计算机底层以二进制补码形式进行存储。
-
1.整数能否直接赋值给char?
答:可以,当一个整数赋值给char类型的时候,会自动转化为char类型。-
public class CharTest{ public static void main(String[] args){ char c1 = a; char c2 = 97; } }
-
char c3 = 65535; 输出结果实际上是一个看不懂的字符。当一个整数没有超过byte,short,char的范围,直接赋值。超过的话强转。
-
public class CharTest02{ public static void main(String[] args){ byte = 129;//报错,超过了byte的数据范围,需要强转。 byte = (byte)129; } }
-
-
2.byte、short、char做混合运算时,各自先转化为int类型再做运算。
注意:编译器只检查语法。-
如 char c1 =‘a’;short c2 = 1;
-
short c3 = c1 + c2;//报错,编译不能通过,因为编译器不负责运算。 java运算中short 、char 先被认为int类型再做运算,可能超过范围。 可以改为 short c3 = (short)(c1+c2); short c4 = 98;//正确 int a = 1; short s = a;//不行,编译器只能检测a是int类型,不知道a的取值。
-
-
3.多种数据类型做混合运算时,最终运算结果是最大容量对应的类型。 除过byte,short,char类型,因为这三种运算时会先转化为int类型再做运算。
-
4.浮点型
-
float 和 double 存储的数据其实都是近似值。
-
任何一个浮点型都比整型空间大。java中默认浮点型为double。
-
大容量无法直接赋值给小容量,需要强转。
-
-
5.布尔类型boolean
-
public class BooleanTest{ public static void main(String[] args){ boolean sex = true; if(sex){ System.out.println('男'); }else{ System.out.println('女'); } } }
-
-
6.类型转换时,需要遵循哪些规则?
- 大转小,强制类型转换。
- 小转大,自动类型转换。
-
7.重要的语法机制。
-
x+=1;等同于x=()x+1;给式子前面加了个强制转换运算符。
-
所以x+=1与x=x+1,是不太一样的。
-
byte x = 100; byte x = x + 1;//编译不能通过,因为x+1 会先转化为int类型再赋值。 byte x+=1;//相当于 byte x = (byte)(x+1); 使用扩展运算符 永远不会改变变量的类型。
-
-
-
二、选择语句、循环语句、转向语句
-
1.if语句(分支语句)
-
public class IfTest{ public class void main(String[] args){ int a = 10; int b = 20; boolean c = true; if(a>=b){ c = false; }else{ c = true; } printf(c); } }
-
-
2.根据成绩判断等级。根据考试成绩输出等级,优良中及格 不及格。
-
public class ScoreTest{ public static void main(){ java.util.Scanner s = new java.util.Scanner(System.in); System.out.println("您输入的成绩是:"); double score = s.next(); String dengji = "A"; if(score<0||score>100){ System.out.println("成绩不合法"); return; }else if(score>=90){ dengJi = "优"; }else if(score>=80){ dengJi = "良"; }else if(score>=60){ dengJi = "及格"; else{ dengJi = "不及格"; } System.out.println(dengji); } }
-
-
3.使用for循环,实现1-100奇数求和。
-
public class SumTest{ public static void main(String[] args){ int sum = 0; for(i = 1;i<=100;i+=2){ sum = sum + i; } System.out.println(sum); } for(i = 1;i<=100;i++){ if(i%2!=0){ sum=sum+i; } } System.out.println(sum); }
-
-
4.for循环99乘法表
-
public class ChengTest{ public static void main(String[] args){ int sum = 0; for(i=1;i<=9;i++){ for(j=1;j<=i;j++){ sum = i*j; System.out.print(i+"*"+j+"="+sum+" "); } System.out.println(); } System.out.print(i+"*"+j+"="+sum+" "); } }
-
-
-
三、方法
-
1.方法
-
就是可以重复利用完成某个特定功能的代码片段。
-
- 定义:[修饰符列表] 返回值类型 方法名(形参列表){
方法体;
}
- 定义:[修饰符列表] 返回值类型 方法名(形参列表){
-
3.返回值类型 :1.基本数据类 2.引用数据类型
-
什么叫返回值:方法结束后的结果,一般会是一个数据。
-
方法就是为了完成某个特定的结果。
-
当一个方法结束 不返回任何类型时,也不能为空,用void。
-
方法必须调用才能执行。类名.方法名(实参列表);
-
//计算两个int类型的 商。 public static int Shang(int a,int b){ int jieguo = a/b; return jieguo;//或者直接 return a/b; } //无需返回值可以这样写 public static void divided(int x,int y){ System.out.println(x/y); }
-
-
4.方法位于同一个类下,调用时类名可以省略。注意:调用程序 不一定得在main 方法中,其他方法也可以调用。
-
5.方法体中 代码执行顺序 依次执行,自上而下。main方法其实也只是一种普通的方法。只不过main 方法是jvm中的,作为程序的入口。
-