Java基础语法

Java基础语法

数据类型

  • 基本数据类型

    • 数值型

      • 整数型

        • byte short int [默认] long
      • 浮点型

        • float double[默认]
      • 字符型

        • char
    • 非数值型

      • 布尔型

        • blooean
  • 引用数据类型[reference type]

    • 类(class)
    • 接口(interface)
    • 数组[]

变量

  • 格式

    • 数据类型 变量名 = 数据;【最常用】

    • 数据类型 变量名;

    • 赋值;

    • 数据类型 变量名1 = 数据,变量名2 = 数据;【不推荐】

  • 注意事项

    • 1、同一{}内,变量名不能重复
    • 2、使用前,必须初始化
    • 3、定义long,须在整数后加 l / L
    • 4、定义float,小数后加 f / F

标识符

  • 组成规则

    • 1、由字母、数字、下划线、美元符号构成
    • 2、第一个不能是数字
    • 3、不能用Java中的关键字
    • 4、大小写敏感【区分大小写】
  • 命名约定

    • 大驼峰

    • 小驼峰

      • 变量名、方法名

运算符[6+1]

运算符补充
算数运算符+、-、*、/、%
赋值运算符= 、 += 、 -= 、 *= 、 /= 、 %=底层蕴含强制转换
自增自减运算符++a,a++, --a, a–sout(++a)和sout(a++)不一样
关系运算符==、!= 、>、>= 、< 、<=结果:boolean类型
逻辑运算符& 、| 、^ 、!
短路逻辑运算符&&、||属于逻辑运算符
三元运算符(关系表达式)?表达式1:表达式2;

流程控制语句

1、顺序结构

2、分支结构/选择结构

2.1 if
if(关系表达式){
	语句体;
}else if{
	语句体;
}……{
	语句体
}else{
	语句体
}
2.2 switch
switch(表达式){
	case  1 :
		语句体1breakcase  2:
……
	default:
		语句体n+1;
		[break;]
}
2.3 if语句与switch的区别
  • 从使用效率角度:在对同一个变量的不同值做条件判断时,使用switch语句效率更高,尤其是判断的分支越多越明显。
  • 从语句的实用性角度:switch语句不如if语句,if语句是应用最广泛和最实用的语句

3、循环结构

3.1 for循环
//先判断后执行
for(初始化语句;条件判断语句;条件控制语句){
	循环体语句;
}
3.2 while循环
//一、while  先判断后执行

初始化语句;
while(条件判断语句){
	循环体语句;
	条件控制语句;
}


//二、do  while  先执行一次后判断

初始化语句;
do{
	循环体语句;
	条件控制语句;
}while(条件判断语句);

4、死循环与退出循环

4.1 死循环
  • for( ; ; ){}
  • while(true){}
  • do{}while(true);
4.2 结束循环
  • break:结束循环

  • continue:跳过当前循环/终止本次循环

  • 退出多层循环嵌套

    • 1、使用标号break

    • 2、在外层循环中添加 标识符

    • 例:退出二层循环

      • 开始时 Loop: 外层循环
      • 结束时 break Loop;

数组

数组
  • 声明方式

    数据类型[] 数组名称;
    数据类型 数组名称[];
  • 数组格式

    • 静态初始化

      //完整格式
      数据类型[] 对象名 = new 数据类型[] {元素123……}//简化格式    
      数据类型[] 对象名 = {元素123……}
    • 动态初始化

      数据类型[] 对象名 = new 数据类型[数组长度]
      
  • 索引的特征

    • 1、从0开始
    • 2、是连续的
    • 3、逐一增加的,每次加1
  • 内存分配

    • 局部变量------>栈内存
    • new出来的------->堆内存
  • 常见问题

    1. 索引越界异常[Array Index Out Of Bounds Exception]
    2. 空指针异常[Null Pointer Exception]
二维数组
  • 声明方式

    数据类型[][] 数据名称;
    数据类型 数据名称[][];
    
  • 初始化

    • 静态初始化
    //完整格式
    数据类型[][] 数组名称= new 数据类型[][]{{第一行元素},{第二行元素}……};
    //简化格式
    数据类型[][] 数组名称= {{第一行元素},{第二行元素}……};
    
    • 动态初始化
    数据类型[][] 数组名称=new 数据类型[行数][列数];
    //仅声明 行数 可行
    //仅声明 列数 不可行
多维数组

比一维数组高的都是多维数组,包括二维数组。

一般三维、四维也不用数组表示,用List、Map集合来存储

方法

1、概述

  • 概念:将具有独立功能的代码块组织成为一个整体,使其成为具有特殊功能的代码集。
  • 方法定义:方法必须先创建后使用,这个过程叫方法定义
    • 明确返回值类型参数列表
  • 方法调用:方法在创建后需要手动调用才执行,这个过程叫方法调用
    • 调用时,参数列表保持一致

2、方法定义与方法调用

2.1 方法定义
  • //无参方法
    public static void 方法名(){方法体}//带参方法
    public static void 方法名(参数){方法体};
  • //带返回值
    public static 返回值类型 方法名(参数){
        return 数据;//return结束方法
    }
    
    //无返回值
    public static void 方法名(参数){方法体}
2.2 方法调用
方法名(参数);
数据类型 变量名 = 方法名(参数);
对象.方法名(参数);
2.3 注意事项*
  1. 方法不能套方法。
  2. void 表示无返回值,return可不写可单写。
2.4 方法的通用格式
public static 返回值类型 方法名(参数){
    方法体;
    return 数据;
}  
2.5 方法重载

概念:同一个类中定义多种方法之间的关系。

2.5.1 互相重载的前提:
  1. 多个方法在同一个类
  2. 多个方法拥有相同的方法名
  3. 多个方法参数不同(类型 / 数量)

​ 注意:

  1. 方法重载仅针对“方法定义”,与“方法调用”无关。
  2. 重载仅识别同一个类中的方法的名称和参数,与返回值无关
2.6 方法参数传递

基本数据类型:形参改变 实参不变

引用数据类型:形参改变 实参改变

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值