循环输出5行“Hello”
使用for循环输出五下hello
public static void main(String[] args) {
for (int i = 1;i <= 5 ;i++ ) {
System.out.println("hello");
}
}
利用循环求和1-100以内的所有奇数和
public static void main(String[] args) {
int sum = 0;
for (int i = 1; i <= 100; i += 2) {
sum += i;
}
System.out.println("1到100的奇数和为:" + sum);
}
创建一个dog
类,命名为dog.java
,添加属性:姓名name 学号student number或者用xuehao
,成员方法为study
public class Dog {
//属性
String name;
int xuehao;
//方法
void fangfa() {
System.out.println("study");
}
}
public class TestDog {
public static void main(String[] args) {
Dog dog1 = new Dog();
dog1.name="小汪";
dog1.xuehao=520;
System.out.println(dog1.name+" "+dog1.xuehao);
dog1.fangfa();
}
}
4 . 编程输出九九乘法表
课堂用的正三角写法
public static void main(String[] args) {
for(int i = 1;i < 10;i ++){
for(int j = 1; j <= i;j ++){
if(j == i){
System.out.println(j +"*" + i + "="+ (j * i) + " ");
}else{
System.out.print(j +"*" + i + "="+ (j * i) + " ");
}
}
}
}}
变式(看看就好,估计补考不会考这个)
题目:可变式99乘法表
(1) 纯while写法
(2) 纯for写法
1 纯while写法
package com.chapter.bigdata;
import java.awt.print.Printable;
import java.util.*;
public class demo2 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner scanner=new Scanner(System.in);
System.out.print("请输入起始值:");
int start_value =scanner.nextInt();
System.out.print("请输入结束值:");
int end_value =scanner.nextInt();
int left_value=start_value;
while (left_value<(end_value+1)) {
int right_value=start_value;
while (right_value<=left_value) {
System.out.print(left_value+"*"+right_value+"="+left_value*right_value+" ");
right_value+=1;
}
System.out.println();
left_value+=1;
}
}
}
2 纯for写法
package com.chapter.bigdata;
import java.util.*;
public class demo1 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner scanner=new Scanner(System.in);
System.out.print("请输入起始值:");
int start_value=scanner.nextInt();
System.out.print("请输入结束值:");
int end_value=scanner.nextInt();
for(int i=start_value;i<=end_value;i++){//行
for(int j=start_value;j<=i;j++){//列
System.out.print(j+"*"+i+"="+i*j+"\t");//乘法表的格式
}
System.out.println();//输出换行
}
}
}
3 面向对象写法
package com.chapter.bigdata;
import java.util.*;
public class demo4 {
public static void main(String args[]) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入起始值:");
int start_value = scanner.nextInt();
System.out.print("请输入结束值:");
int end_value = scanner.nextInt();
PrintMulTable p = new PrintMulTable();
p.printMulTable(start_value, end_value);
}
}
class PrintMulTable {
void printMulTable(int x, int y) {
int j;
for (int i = x; i <= y; i++) {// 行
for (j = x; j <= i; j++) {// 列
System.out.print(j + "*" + i + "=" + j * i + " ");
}
System.out.println();
}
}
}
基础知识点
关键字(看上一篇文档喔)
跳转break P48 continute(终止本次循环)
标识符(看上一篇文档喔)
3%-2取余
(记住 / 是用来除的 而%是用来除法取余数的)
最简单的代码是:System.out.println(3%2);
(当然了记得规范格式,不然会被骂哈哈哈哈哈哈)
public class Apple{
public static void main(tring[] args){
int a=3;
int b=2;
int c=a%b;
System.out.println(c);
}
}
b=++a
如果定义int a=1 b=a++;如果a=1则,b=1;
b=++a;如果a=1则,b=2;
++在前就是先加载执行下一步,++在后就是执行完下一步后再加.
++或者—在数字前边的时候,数字先+1或者-1后参与运算,++或者—在数字后面的时候,数字先参与运算后再+1或者+1。
举个栗子
考一考你
int a =8,b=6; 则:表达式++a-b++的值为( )?
++a - b++ = (a+1) - (b) = 8+1 - 6 = 3; 运算完成后b = b+1;
++或者--在数字前边的时候,数字先+1或者-1后参与运算,++或者--在数字后面的时候,数字先参与运算后再+1或者+1。
所以这个式子中,a先+1等于9,然后减去 b(6),式子等于3,b参与运算后b 在加1 = 7;所以运算完成后 a = 9,b=7,但是式子的运算结果是3。
答案是3
还有一个点
a+=b和a=a+b有什么区别呢?
本质运算过程没有区别,只是算出来的结果精度不同而已,当使用a=a+b计算时,需要手动强转数值精度。
三元运算符(P41)
格式判断条件?表达式1:表达式2
输出结果二选一(看条件)
它的功能与if…else语法相同(就是给条件做判断),但是使用它能够简化代码例:求两个数x、y中的较大值,分别使用if…else语句和三元运算符实现
int x = 1;
int y = 2;
int max;
if (x > y) {
max = x;
} else {
max = y;
}
System.out.println(max);
int x = 1;
int y = 2;
max = x > y? x : y;
//是x大于y呢还是y大于x
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的基本数据类型
根类object
Object 类是在java编程中是所有类的父类或者间接父类。
默认它是所有类的爸爸,(它就是传说中的祖先)
- Object中的方法是所有类都有的方法,每个类默认继承了Object类。
- boolean equals(Object obj) : Object中默认是比较地址,可以重写equals(Object obj)方法,比较内容。
- String toString() : 返回该对象的字符串表示,对象.toString();
结果是 对象所属的类加@对象的哈希值(getClass().getName() + ‘@’ + Integer.toHexString(hashCode()))。
- int hashCode() : 获取对象的哈希值, 得到的结果是整型,使用Integer.toHexString(对象.hashCode());转成十六进制
- Class<?> getClass(): 返回Object的运行时类,Object类的一个对象。
- 对于Class<?>的理解: Person类是人的抽象,张三,李四是人的具体实现,getName()是人的共有方法,
- 那么Class可以看成是Person,A.class,b.class就是具体实现,getClassName()获取类名。
相当于将所有的类文件抽象成Class类, 具体类的class文件是实现,Class类中有具体class文件的共有方法。
记住前面四个用法就可以啦(面向对象篇)