一.数据类型与运算符
1.数据类型的分类
·8大基本数据类型
数值型:·整形:byte(1) < short(2) < int(4) < long(8);
·浮点型 float(4)< double(8);
字符型:·char
布尔型:·boolean(false/true)
2.变量:
命名规则:(1)只能包含数字、字母、下划线;
(2)数字不能开头;
(3)变量名区分大小写;
规范:推荐变量名为小驼峰,多个单词时,除去首单词外,其他单词首字母大写;
推荐类命名为大驼峰,多个单词首字母全大写;
推荐包命名为全小写,多个单词用下划线_分割;
3.常量:
声明后不可更改;
语法:final int a = 10;
字面型常量:直接写出来的值;
4.数据类型转换:
a.小转大:涉及到运算时自动提升
b.大转小:强制类型转换,存在丢失精度风险;
5.运算符:
算数运算符:+ - * / %
关系运算符:< > == >= <= !=;
逻辑运算符: && || !
位操作:& | ^ ~
移位运算: << >> >>>(无符号右移);
条件运算符: 三木运算符 int c = a<b?a:b;
6.程序的逻辑结构:
顺序结构;
分支结构:
if结构:if()
else if()
else
switch结构:
switch() case a:break;
default:
循环结构:
while结构:
while(表达式){}
break与continue:
break:结束当前循环;
continue:跳过当前循环执行下一次循环;
for结构:用于循环次数已知
7.输入输出:
标准输入:System.out.print --------不带换行
System.out.println --------带换行
System.out.printf --------和c的printf一样
标准输入:原生的较难用,使用java.util.Scanner
Scanner scanner = new Scanner(System.in);
String name = scanner.next();
int age = scanner.nextInt();
从键盘读取多个内容:
while(scanner.hasNextDouble);
8.方法
JAVA方法笔记_@未来可期的博客-CSDN博客
定义:代码的复用性,表示一种行为或者能力
语法:public static 返回值 方法名称 (参数列表){具体代码 return;}
tips:break当有循环嵌套时,只能跳出本层循环,若跳出全部循环,可使用return;
方法的调用:通过主方法进行调用 数据类型 变量 = 方法名称,参数
若没有返回值,用void修饰
Java中没有函数声明的概念,一旦定义了必须实现,,与位置无关
参数传递:只有值传递,只是将数值拷贝一份给形参
方法的重载(overload):方法名称相同,根据参数列表的不同选择不同方法,例如println
方法重写(override):重写该方法,之前的无效。调用时使用自己写的方法
方法的递归:
使用场景:·大问题转换为多个子问题的求解
·拆分后的子问题和原问题除了数据规模不相同外,其他解决思路完全相同。
·存在递归出口条件
如何写出递归:关注方法的语义、关心如何利用方法解决我的问题、当前只能干什么,剩下交给子方法处理;
9.数组
详细看另一篇博客:JAVA数组笔记_@未来可期的博客-CSDN博客
定义:存放相同数据类型的一组集合;
创建:静态初始化:int[] data = {1,2,4,5,6};
动态初始化: int[] data = new int[]{1,2,4,5,6};
int[] data = new int[] -----------默认初始值都为0;
访问与长度:取得数组的长度,数组名.length
取得数组的元素arr[index] ->索引