Java基础

@生活冷战士 #和我一起去战斗

`java基础

1.一个简单的Java应用程序

public static void main(String[] args){
    System.out.print("Hello world");
}

注意事项:
1、类名和文件名一致
2、main全部小写,不能写成main或者Main
3、System首字母大写
4、暂时不考虑static void 等修饰符
5、.是一个运算符用来调用方法
6、[]代表一个数组,args是方法参数
7、{代表程序开始,}代表程序结束

2、Java注释

代码千万行,注释第一行,注释不规范,同事两行泪!
1、//一般用于语句注释
2、//一般用于方法或者代码段
3、/
*/一般用于方法或者类
注意事项:注释不能嵌套

3、Java数据类型

  1. 引用类型:Array,String;
  2. 基本类型:byte 、short、int,long,char,boolean,float,double;
  3. 变量
    1.成员变量
    2.局部变量
    3.类变量
 1. 声明变量:数据类型 变量名
 2. 变量命名规则:
 3. 只能以字母或者_或者$符号开头,且不能包含上述符号以外的符号
 4. 不能以数字开头
 5. 不能使用java关键字
 6. 变量初始化:声明一个变量后,必须用复制语句对变量进行显式初始化,不能使用未初始化的变量。
 7. 常量:java中利用final修饰的变量是常量。final修饰的变量只能赋值一次,赋值以后不能再更改。命名全部大写

4.运算符

1.算术运算符:

   +  -  *  /  %  ++   -- ;

2.关系运算符:

   >     <   ==    !=   >=  <=;

3.位运算符:

&   |   ~    ^      >>       <<      >>> ;

4、赋值运算符:

  =  +=   *=    -=  /=  %=;

5、条件运算符

条件  ?  表达式1  : 表达式2 
(1)首先对条件进行判断,其结果是布尔值true或者false
(2)如果为true,则返回表达式1;
(3)如果是false,则返回表达式2;
示例
int min;
min=2<3?2:3;
   !提示
   (1) 优先级最低的是赋值运算符,其次是条件运算符。
   (2) 单目运算符包括 ! ~ ++ -- ,优先级最高。
   (3) 可以通过()来控制运算顺序,()优先级最高。
   (4) 总体而言,算术运算符>关系运算符>逻辑运算符。
   (5) 结合性为从右向左的只有赋值运算符、三目运算符、单目运算符。

流程控制

  1. 程序的基本结构
    (1)顺序结构: 从上到下,依次执行。
    (2)选择结构:根据条件来选择执行不同的语句。
    (3)循环结构:根据判断条件反复执行某段代码。

  2. 选择结构控制
    使用if和switch语句实现选择结构。

if(score>60){
system.out.println("考试通过!!!");
}
if(score>60){
system.out.println("考试通过!!!");
}
else{
system.out.println("考试未通过。。。");
}
if(score>=90&&score<=100){
system.out.println("A");
}else if(score>=80){
system.out.println("B");
}else if(score>=70){
system.out.println("B");
else if(score>=60){
system.out.println("C");
}else{
system.out.println("D");
}
判断是否是闰年
int year;
if( year % 4 == 0){
   if(year %100 = 0){
      if(year %400 = 0){
          system,out.println("是闰年");
      }else{
        system,out.println("不是闰年");
           }
      }else{
 system,out.println("是闰年");
    }
  }else{
system,out.println("不是闰年");
}
Scanner scanner=new Scanner(System.in);
		System.out.println("请输入成绩");
		int score =scanner.nextInt();
		switch (score/10) {
		case 10:
		case 9:
			System.out.println("A");
			break;
		case 8:
			System.out.println("B");
			break;
		case 7:
			System.out.println("C");
			break;
		case 6:
			System.out.println("D");
			break;
		default:
			System.out.println("E");
			break;
		}	
	
int i=1,sum=0;
		while(i<=100) {
			sum+=i;
			i++;
		}
		System.out.println(sum);
打印九九乘法表
for (int i = 1; i < 10; i++) {
			for (int j = 1; j < i+1; j++) {
				int sum=0;
				sum=i*j;
				System.out.print(i+"*"+j+"= "+ sum +"\t");
				
			}
			System.out.println();
		}

数组

1.定义:
具有相同数据类型,按照一定次序排列的一组数据的集合。
2.声明及初始化

数据类型 [] 变量名;
注意:数组在定义时一定要给定长度并且长度不可更改。

//静态初始化
int[] a ={1,2,3,4};
int[] a = new int[]{1,2,3,4};
//动态初始化
int[] a = new int[5];
a[0] = 1;

3.数组的生命过程

1. 声明
2. 分配内存
3. 初始化(赋值)
4. 使用,通过下标访问,如a[0]

4.名词

1. 数组元素:构成数组的数据
2. 数组下标:元素在数组中的位置,从0开始
3. 数组长度:数组中元素的个数,长度一旦确定就不可变

5.数组默认值
在这里插入图片描述
6.常见问题

1.数组下标越界异常
2.空指针异常

7.二维数组

注意:Java中没有多维数组,所谓二维数组不过是一维数组里的数组内储存了一维数组。可以说是数组中的数组。
int [][] ary={{1,2,3},{4,5,6},{7,8,9}};
int [][] ary=new int[length][length];

8.Arrays工具类
在这里插入图片描述
9.foreach

for(数据类型 变量名:被遍历数组集合){
   Syetem.out.println(变量)
}

字符串

  1. 创建字符串
//字符串的本质是一个字符串数组
String a = new String("abc");//不推荐
String b = "abc";
  1. 字符串的常用API

在这里插入图片描述在这里插入图片描述

3.可变参数

1. 本质是一个数组
2. 参数可以传0个,也可以传1个,也可以传多个
3. 使用可变参数前,要判断参数是否为null,以及长度是否大于0

4.数组类型转换

1. 基本类型转字符串

   +

   String.valueOf(基本数据来类型)

2. 字符串转基本类型

   基本类型的包装类

在这里插入图片描述
5.==和equals的区别

1. ==用于判断内存中值是否相等
2. equals用于判断对象是否相等

6.String中的陷阱

1、String a="abc";String b="abc",

a==b?-------    true

a.equals(b)  --------  true

2、String a = "abc";String b = new String("abc");

a==b?       -------      false

a.equals(b)   ------   true
3、String类可以被继承吗?
​      答案是不能的
String类的方法头是:Public final class String extends Object
之所以不能被继承就是因为其中的修饰关键字 final
其含义相当于C/C++的const,意味着不可修改。
final可以用来修饰 类 、变量 和 方法,
final修饰类的时候 ,这个类就不能被继承了, 类中所有的方法也就被隐式的变为final方法
final修饰的方法的类可以被继承,但是final修饰的方法无法被覆写final修饰的变量相当于常量,只能被赋值一次,赋值后值不再更改 ,这就表示了final修饰的变量必须被初始化,初始化可以在声明变量的时候,也可以在构造函数中初始化

7.字符串格式化

format(Stringformat,Object...args);

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值