类class
在src文件中创建Hello类
public class Hello {
public static void main(String[] args) {
System.out.println("hello world");
}
}
注释 comment
单行注释//
多行注释 /* */
数据类型DataType
- 先定义再使用
- 基本数据类型
- 整型 int byte short long
- 浮点型 float double
- 字符型 char
- 布尔型boolean true false
public class DataType {
public static void main(String[] args) {
//整型
int num1 = 10;
byte num2 = 10;
short num3 = 10;
long num4 = 10L;
//浮点型
float num5 = 2.1F;
double num6 = 32.121232132;
//字符
char name = '你';
//字符串string 不是关键字 是类
String name1 = "你好";
//布尔值
boolean flag = true;
boolean flag1 = false;
}
}
-
引用数据类型
- 类
- 接口
- 数组
-
数据类型转换
- 强制转换 高——》低
- 自动转换 低——》高
//数据类型转换 int i = 129; byte b = (byte) i; System.out.println(i); System.out.println(b); System.out.println((int)34.2); System.out.println((int)-34.2F); System.out.println((int)'a'); System.out.println('a' + 1);
变量Variable
type verName = [value]
//数据类型 变量名 = 【值】
public class Variable {
//属性 变量
//实例变量:从属于对象,如果不初始化,使用默认值
String na;
int age;
public static void main(String[] args) {
//局部变量:需要进行初始化后才能使用
int a = 1;
char b = '你';
String name = "你好";
boolean flag = true;
}
//其他方法
public void add(){
}
}
运算符Operator
-
算术运算符
-
赋值运算符
-
关系运算符
-
逻辑运算符
-
位运算符
-
条件运算符
-
扩展运算符
public class Operator { public static void main(String[] args) { int a = 10; int b = 5; System.out.println(a+b); System.out.println(a-b); System.out.println(a*b); System.out.println(a/b); System.out.println(a%b); System.out.println(a<b); System.out.println(a+=b); System.out.println(a!=b); System.out.println(++a); System.out.println(a-3); System.out.println(Math.pow(2,3)); System.out.println(""+a+b);//开头含有字符串 数字直接连接 boolean c=true; boolean d=false; System.out.println(c || d); System.out.println(c && d); System.out.println(!(c && d)); } } /* 15 5 50 2 0 false 15 true 16 13 8.0 165 true false true*/
包机制
- 为了更好地组织类,Java提供了包机制,用于区别类名的命名空间。
package pkg1[.pkg2[.pkg3...]];
-
一般利用公司域名倒置如 com->baidu->www
package com.baidu.com; //置顶书写 import package com.baidu.com;//导入包
Java Doc
- 生成自己的API文档
- javadoc命令生成
/**
* @author
* @version
* @since 1.8
* @param
* @return
* @throws
*/
Scanner对象
-
用来获取用户的输入
-
基本语法:
Scanner s = new Scanner(System.in);
-
通过Scanner类的next()与nextLine()方法获取输入的字符串,在读取前我们一般需要使用hasNext()与hasNextLine()判断是非还有输入的数据。
import java.util.Scanner;
public class ScannerDemo {
public static void main(String[] args) {
//创建对象扫描器,用于接收键盘数据
Scanner scanner = new Scanner(System.in);
System.out.println("使用next方式接收:");
//判断用户有没有输入字符串
if (scanner.hasNext()){
//使用next方式接收
String str = scanner.next();
System.out.println("输入的内容为:"+str);
}
scanner.close();//IO流的类及时关闭
}
}
-
- next()不能得到带有空格的字符串。
-
- nextLine()可以输入带有开个的字符串。
import java.util.Scanner;
public class ScannerDemo2 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入数据:");
String str = scanner.nextLine();
System.out.println("输入的数据为:"+str);
scanner.close();
}
}
-
案例:计算平均值
import java.util.Scanner; public class ScannerDemo3 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); //和 double sum = 0; //计算输入了多少个数字 int m = 0; while (scanner.hasNextDouble()){ double x = scanner.nextDouble(); m++; sum+=x; } System.out.println("一共输入了"+m+"个数字"); System.out.println("平均值是:"+sum/m); scanner.close(); } }
选择结构
-
if单选泽
-
if双选择
-
if多选择
-
嵌套if结构
-
switch多选择结构 支持字符串的比较
import java.util.Scanner; public class IfDemo { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("请输入内容:"); String s = scanner.nextLine(); //判断字符串是否相等 if (s.equals("hello")){ System.out.println(s); }else{ System.out.println("输入错误"); } scanner.close(); } }
import java.util.Scanner;
//判断成绩水平
public class IfDemo2 {
public static void main(String[] args) {
System.out.println("请输入你的成绩");
Scanner scanner = new Scanner(System.in);
int i = scanner.nextInt();
if (i>85){
System.out.println("优秀");
}else if (i>60){
System.out.println("及格");
}else {
System.out.println("不及格");
}
scanner.close();
}
}
import java.util.Scanner;
//Switch 匹配一个具体的值
public class IfDemo3 {
public static void main(String[] args) {
char grade = 'C';
switch (grade){
case 'A':
System.out.println("优秀");
break;
case 'B':
System.out.println("良好");
break;
case 'C':
System.out.println("还行");
break;
case 'D':
System.out.println("拉了");
break;
}
}
}
循环结构
- while
- do…while
- for
- 增强for 主要用于遍历数组
public class whileDemo {
public static void main(String[] args) {
int i = 4;
int a=0;
int sum=0;
while (a<i){
a++;
sum+=a;
System.out.println("当前循环次数:"+a);
System.out.println("a="+a+" "+"sum="+sum);
}
}
}
public class ForDemo {
public static void main(String[] args) {
int i ,sum=0;
for(i=0;i<=100;i++){
sum+=i;
System.out.println(sum);
}
}
}
public class JiuJiuTable {
//九九乘法表
public static void main(String[] args) {
int i,j;
for(i=1;i<10;i++){
for(j=1;j<=i;j++){
System.out.print(j+"x"+i+"="+j*i);
System.out.print(" ");
} System.out.println();
}
}
}
public class ForDemo2 {
public static void main(String[] args) {
int [] num = {10,20,30,40};
//增加for循环
for(int x:num){
System.out.println(x);
}
}
}
终止
- break 退出循环
- continue 跳出本次循环 继续下一次循环
- goto 没有正式使用
案例
打印三角形
*
***
*****
*******
*********
public class TestDemo {
//打印三角形 5行
public static void main(String[] args) {
for (int i = 1; i <= 5; i++) {
for (int j = 5 ; j >= i ; j--){
System.out.print(" ");
}
for (int j = 1 ; j <= i ; j++){
System.out.print("*");
}
for (int j = 1; j < i; j++){
System.out.print("*");
}
System.out.println();
}
}
}