1.变量:
在内存中开辟的存储空间,用于存放运算过程中需要用到的数据。
命名:
1)只能包含字母、数字、_和$符,并且不能以数字开头。
2)严格区分大小写。
3)不能使用关键字。
4)可以中文命名,但是不建议。
建议:“英文的见名知意”,“驼峰命名法(单词首字母小写,后面单词首字母大写)”
2.基本数据类型:8种
byte:1字节(8位)
short:2字节(16位)
int:4字节(32位)
long:8字节(64位)
float:4字节(32位)
double:8字节(64位)
char:2字节(16位)
boolean:1字节(8位)
1)int:整型,4个字节,-21多个亿到21多个亿
1.1)整数直接量默认为int型,但不能超范围,超范围则编译错误。
1.2)两个整数相除,结果还是整数,小数无条件舍弃(不会四舍五入)
1.3)运算时超范围,则发生溢出,溢出是需要避免的。
2)long:长整型,8个字节,很大
2.1)表示长整型直接量,需在数字后加L或l。
2.2)运算时若有可能溢出,建议在第一个数字加L。
2.3)System.currentTimeMillis()用于获取自1970.1.1零时刻到此时此刻的毫秒数。
3)double:浮点型,8个字节
3.1)浮点数直接量默认为double型,若想表示float需在数字后面加f或F。
3.2)double和float在运算时,有可能会出现舍入误差(精确运算场合不能使用)
4)boolean布尔型,1个字节
4.1)只能取值true和flase;
5)char:字符型,2个字节
5.1)采用Unicode字符集编码,一个字符对应一个码(0~65535之间),表现的形式是字符char,
但本质上是码int。ASCII码(‘a’--97,‘A’--65,‘0’--48)
5.2)字符直接量必须放在单引号中,只能有一个。
5.3)特殊符号需要通过\转意。
3.基本数据类间的转换:
1)两种方式:
1.1)自动类型转换:小类型到大类型
1.2)强制类型转换:大类型到小类型(强转有可能丢失精度或溢出)
2)两点规则:
2.1)整数直接量可以直接赋值给byte,short,char,但不能超出范围。
2.2)byte,short,char型数据参与运算时,先一律转为int再运算
4.Scanner接受用户的输入:
1)在Package下:import java.util.Scanner;
2)在main中:Scanner scanner = new Scanner(System.in);
5.运算符:
1)算术运算符:+,-,*,/,%,++,--
2)关系运算符:>,<,==,>=,<=,!=
3)逻辑运算符:&&,||,!,boolean
4)赋值运算符:=,+=,-=,*=,/=,%=
5)字符串连接运算符:+
6)条件/三目运算符:boolean?数1 : 数2
6.分支结构
1)if结构:1条路
2)if...else结构:2条路
3)if...else if结构:多条路
4)switch...case结构:多条路
优点:效率高、结构清晰。 缺点:整数、相等 break:跳出switch
7.循环:反复执行一段相同或相似的代码。
7.循环三要素:
1)循环变量的初始化
2)循环的条件(以循环变量为基础)
3)循环变量的改变(向着循环结束变)
循环变量 : 在循环过程中所反复改变的那个数
8.循环结构:
1)while:先判断后执行,有可能一次都不执行。
2)do...while:先执行后判断,至少执行一次(要素1与要素3相同时首选do...while)
3)for:固定次数循环,引用率最高
break:跳出循环
continue:跳过循环体中剩余语句而进入下一次循环
9.嵌套循环:
1)循环中套循环,通常多行多列时使用,外层控制行,多层控制列
2)执行过程:外层循环走一次,内层循环走所有次
3)建议:循环次数越少越好
4)break只能跳出一层循环
10.程序=算法+数据结构
1)算法:解决问题的流程/步骤(顺序、分支、循环)
2)数据结构:将数据按照某种特定的结构来保存,设计良好的数据结构会导致好的算法
11.数组:
1)是一种数据类型(引用类型)
2)相同数据类型元素的集合
3)数组的定义:int[] arr = new int[10];
4)数组的初始化:
int[] arr = new int[3];
int[] arr = {1,4,7}
int[] arr = new int[]{1,4,7}
int arr; arr = new int[]{1,4,7}
12.