//image.png

循环输出5行“Hello”

使用for循环输出五下hello

  1. public static void main(String[] args) {
  2. for (int i = 1;i <= 5 ;i++ ) {
  3. System.out.println("hello");
  4. }
  5. }

运行结果如下图所示
image.png

利用循环求和1-100以内的所有奇数和036E5238.png

  1. public static void main(String[] args) {
  2. int sum = 0;
  3. for (int i = 1; i <= 100; i += 2) {
  4. sum += i;
  5. }
  6. System.out.println("1到100的奇数和为:" + sum);
  7. }

创建一个dog类,命名为dog.java,添加属性:姓名name 学号student number或者用xuehao,成员方法为study

  1. public class Dog {
  2. //属性
  3. String name;
  4. int xuehao;
  5. //方法
  6. void fangfa() {
  7. System.out.println("study");
  8. }
  9. }
  1. public class TestDog {
  2. public static void main(String[] args) {
  3. Dog dog1 = new Dog();
  4. dog1.name="小汪";
  5. dog1.xuehao=520;
  6. System.out.println(dog1.name+" "+dog1.xuehao);
  7. dog1.fangfa();
  8. }
  9. }

4 . 编程输出九九乘法表

课堂用的正三角写法036E3087.png

  1. public static void main(String[] args) {
  2. for(int i = 1;i < 10;i ++){
  3. for(int j = 1; j <= i;j ++){
  4. if(j == i){
  5. System.out.println(j +"*" + i + "="+ (j * i) + " ");
  6. }else{
  7. System.out.print(j +"*" + i + "="+ (j * i) + " ");
  8. }
  9. }
  10. }
  11. }}

变式(看看就好,估计补考不会考这个)

  1. 题目:可变式99乘法表
  2. 1 while写法
  3. 2 for写法

1 纯while写法

  1. package com.chapter.bigdata;
  2. import java.awt.print.Printable;
  3. import java.util.*;
  4. public class demo2 {
  5. public static void main(String[] args) {
  6. // TODO Auto-generated method stub
  7. Scanner scanner=new Scanner(System.in);
  8. System.out.print("请输入起始值:");
  9. int start_value =scanner.nextInt();
  10. System.out.print("请输入结束值:");
  11. int end_value =scanner.nextInt();
  12. int left_value=start_value;
  13. while (left_value<(end_value+1)) {
  14. int right_value=start_value;
  15. while (right_value<=left_value) {
  16. System.out.print(left_value+"*"+right_value+"="+left_value*right_value+" ");
  17. right_value+=1;
  18. }
  19. System.out.println();
  20. left_value+=1;
  21. }
  22. }
  23. }

2 纯for写法

  1. package com.chapter.bigdata;
  2. import java.util.*;
  3. public class demo1 {
  4. public static void main(String[] args) {
  5. // TODO Auto-generated method stub
  6. Scanner scanner=new Scanner(System.in);
  7. System.out.print("请输入起始值:");
  8. int start_value=scanner.nextInt();
  9. System.out.print("请输入结束值:");
  10. int end_value=scanner.nextInt();
  11. for(int i=start_value;i<=end_value;i++){//行
  12. for(int j=start_value;j<=i;j++){//列
  13. System.out.print(j+"*"+i+"="+i*j+"\t");//乘法表的格式
  14. }
  15. System.out.println();//输出换行
  16. }
  17. }
  18. }

3 面向对象写法

  1. package com.chapter.bigdata;
  2. import java.util.*;
  3. public class demo4 {
  4. public static void main(String args[]) {
  5. Scanner scanner = new Scanner(System.in);
  6. System.out.print("请输入起始值:");
  7. int start_value = scanner.nextInt();
  8. System.out.print("请输入结束值:");
  9. int end_value = scanner.nextInt();
  10. PrintMulTable p = new PrintMulTable();
  11. p.printMulTable(start_value, end_value);
  12. }
  13. }
  14. class PrintMulTable {
  15. void printMulTable(int x, int y) {
  16. int j;
  17. for (int i = x; i <= y; i++) {// 行
  18. for (j = x; j <= i; j++) {// 列
  19. System.out.print(j + "*" + i + "=" + j * i + " ");
  20. }
  21. System.out.println();
  22. }
  23. }
  24. }

036811A2.jpg

基础知识点

关键字(看上一篇文档喔)

跳转break P48 continute(终止本次循环)

标识符(看上一篇文档喔)

3%-2取余

(记住 / 是用来除的 而%是用来除法取余数的)
最简单的代码是:System.out.println(3%2);(当然了记得规范格式,不然会被骂哈哈哈哈哈哈)

  1. public class Apple{
  2. public static void main(tring[] args){
  3. int a=3;
  4. int b=2;
  5. int c=a%b;
  6. System.out.println(c);
  7. }
  8. }

b=++a

如果定义int a=1 b=a++;如果a=1则,b=1;
b=++a;如果a=1则,b=2;
++在前就是先加载执行下一步,++在后就是执行完下一步后再加.

++或者—在数字前边的时候,数字先+1或者-1后参与运算,++或者—在数字后面的时候,数字先参与运算后再+1或者+1。
举个栗子
033551EF.jpg

考一考你

int a =8,b=6; 则:表达式++a-b++的值为( )?

  1. ++a - b++ = (a+1) - (b) = 8+1 - 6 = 3; 运算完成后b = b+1;
  2. ++或者--在数字前边的时候,数字先+1或者-1后参与运算,++或者--在数字后面的时候,数字先参与运算后再+1或者+1
  3. 所以这个式子中,a先+1等于9,然后减去 b6),式子等于3b参与运算后b 在加1 7;所以运算完成后 a 9b7,但是式子的运算结果是3

答案是3

还有一个点
a+=b和a=a+b有什么区别呢?
本质运算过程没有区别,只是算出来的结果精度不同而已,当使用a=a+b计算时,需要手动强转数值精度。


三元运算符(P41)

格式
判断条件?表达式1:表达式2 输出结果二选一(看条件)
它的功能与if…else语法相同(就是给条件做判断),但是使用它能够简化代码
例:求两个数x、y中的较大值,分别使用if…else语句和三元运算符实现

  1. int x = 1;
  2. int y = 2;
  3. int max;
  4. if (x > y) {
  5. max = x;
  6. } else {
  7. max = y;
  8. }
  9. System.out.println(max);
  1. int x = 1;
  2. int y = 2;
  3. max = x > y? x : y;
  4. //是x大于y呢还是y大于x
  5. System.out.println(max);

byte有多少位

byte取值范围

字节数量
byte(8位二进制数=1字节)
short(2字节=16位二进制数)
int(4字节=32位二进制数)默认
long(8字节=64位二进制数)
在GBK编码模式中,1个英文字符占用1字节,一个汉字占用2字节。
byte字节取值范围为-27~27-1(-128~127)


for循环(p46)

java的基本数据类型

Java补考范围重点 - 图9

根类object

Object 类是在java编程中是所有类的父类或者间接父类。
默认它是所有类的爸爸,(它就是传说中的祖先)

  1. Object中的方法是所有类都有的方法,每个类默认继承了Object类。
  2. boolean equals(Object obj) : Object中默认是比较地址,可以重写equals(Object obj)方法,比较内容。
  3. String toString() : 返回该对象的字符串表示,对象.toString();

结果是 对象所属的类加@对象的哈希值(getClass().getName() + ‘@’ + Integer.toHexString(hashCode()))。

  1. int hashCode() : 获取对象的哈希值, 得到的结果是整型,使用Integer.toHexString(对象.hashCode());转成十六进制
  2. Class<?> getClass(): 返回Object的运行时类,Object类的一个对象。
  3. 对于Class<?>的理解: Person类是人的抽象,张三,李四是人的具体实现,getName()是人的共有方法,
  4. 那么Class可以看成是Person,A.class,b.class就是具体实现,getClassName()获取类名。

相当于将所有的类文件抽象成Class类, 具体类的class文件是实现,Class类中有具体class文件的共有方法。

记住前面四个用法就可以啦(面向对象篇)

xx.java>xx.class原理???(我不会我也不理解这是个啥呜呜呜)

面向对象具有三大特性:封装 继承 多态