前言:欢迎来到我的小窝,这里是一个新手程序员的起航之旅,记录着从“入坑”到“退坑”每一天……
- 计划任务
- 完成任务
Java语言作为当今主流的高级语言,很多的小伙伴已经开始学习java之旅了, 但是作为初学者,java基础语法是必备技能,只有熟练掌握了解java基础语法之后, 你才能更好地深入java语言的世界,开始你的java编程之旅……知识点归纳: 1.文档注释
文档注释皆可嵌套单行注释,起解释说明的作用
//单行注释2.标识符
3.变量 3.1 变量是什么命名规则
- 组成:字母,数字,下划线_,美元符号$(!数字不能开头)
- 严格区分大小写
- 关键字和保留字不能作为标识符使用
- 关键字:已经被java语法占用的字
- 保留字:goto const 将来会被java所使用的字
命名规范
- 见名知意
- 驼峰命名原则
- 类名|接口名 (每个单词首字母大写 HelloWorld)
- 变量名|方法名 (第一个单词小写,第二个单词开始,每个单词首字母大写 helloWorld)
- 常量名 (全部大写,每个单词之间_连接 HELLO_WORLD)
3.2 变量如何定义程序执行过程中,其值可以发生改变的量 (不是值,而是一块空间)
3.3 变量的作用域声明的同时赋值 | 数据类型 变量名 = 数据值; //例:int num=1
先声明 后赋值 | 数据类型 变量名; 变量名 = 数据值; //例:int num; num=1;
3.4 变量的分类从变量的声明开始到包括它的离它最近的同一级 } 结束,局部作用域{}
3.5 常量局部变量 ==> 定义在局部位置(方法中|语句块中) 使用之前必须已经声明并且已经赋值,没有默认值
成员变量 ==> 定义在(类中 方法外) 定义在成员位置的变量,只声明不赋值,存在默认值
4.数据类型 4.1基本数据类型常量是在程序执行过程中其值不能发生改变的量
- 字面值常量 ==>整数常量 0 100 -1 …小数常量 1.0 0.5 -2.3 …布尔常量 true false 空常量 null
- 自定义常量 ==>被final的变量为最终常量//例:final int NUM=1
整型
- byte 字节型 1个字节 [-128,127]
- short 短整型 2个字节 [-2的15次方,2的15次方-1]
- int 整型 4个字节 [-2的31次方,2的31次方-1] ,默认为int long需要在字面量后加 l/L
- long 长整型 8个字节 [-2的61次方,2的61次方-1]
字符型
- char 字符型 2个字节
- 一对’ '包裹任意一个字符
- 通过0~65535之间的整数表示字符 Unicode字符集
4.2 引用数据类型(类class 接口 interface 数组 String[]) 4.3 进制转换布尔型
- boolean 布尔型 1个字节 1bit有效位
- 整型表现方式
- 二进制 由0~1组合, java中由0b|0B开头
- 八进制 由0·7组合,java中由0开头
- 十进制 默认
- 十六进制 由09,af|A~F组合, java中由0x|0X开头
4.4 数据类型转换
- 浮点表现防止
- 小数的整数位为0的时候,0可以省略 0.6---->.6
- 科学计数法 1.23e2 --> 1.23*10^2 --> 123.0 1.23e-2 --> 1.23/10^2 -->0.0123
注意 :
boolean类型不参与类型转换
如果符合类型范围要求大小的常量就能成功为byte,short,char类型赋值,常量的值在编译期间能够确定
自动类型提升 (小转大)
- 运算后的结果类型
- 存储多种类型的数据参与运算时候,最终结果为参与运算的最大类型
- byte->short->int ->long->float->double
5.运算符强制类型转换(大转小)
- 会损失精度
- 小范围类型 变量 = (小范围类型) 大范围类型数据;
注意
- 操作数 运算符左右两边的数为操作数
- 表达式 运算符连接两边的操作数整体称为表达式 a+b
1.按作用分类
- 算数运算符
- 加减乘除(+ - * /)取余(%)自增自减(++ --)
- ++ – 单独使用,放在变量前后,没有区别;a++; ++a;
- ++ – 如果不是单独使用,放在变量前后有明显区别
- 在变量前面:先+1,-1再使用变量
- 在变量后面:先使用变量,再对变量+1,-1
- 赋值运算符
- 基础赋值运算符 = (优先级最低)
- 扩展赋值运算符 += -= *= /= %= (算数运算符+基础赋值运算符)
- 注意:编译期间编译器会自动把适当优化成扩展赋值运算符的写法
- 优点: 提高执行效率,自动做强制类型转换 缺点不直观
- 比较运算符|关系运算符
- (> < >= <=) 只能比较byte,short,int ,long ,float,double,char
- (== !=) 可以比较任意类型数据
- 逻辑运算符
- & 与: 一个为false就是false,两个都为true才是true
- | 或:一个为true就是true,两个都为false才是false
- ! 非:!true–>false !false–>true
- ^ 异或:相同为false,不同为true
- 短路运算符:如果左边操作数就能够决定最终表达式的结果,右边的操作数不再执行
- && : 一个为false就是false,两个都为true才是true
- || : 一个为true就是true,两个都为false才是false
- 条件运算符(三元运算符)
- boolean表达式 ? 值1 : 值2;
- 1.计算boolean表达式,得到boolean结果
- 2.如果boolean结果为true,取值1;如果boolean结果为true,取值2
- 位运算符
- 执行流程:先把操作数转为二进制,再根据运算符的规则进行运算,得到二进制结果然后再转为十进制
- & 对两个操作数统一位置的数据进行运算,一个为0就是0,两个都为1才是1
- | 对两个操作数统一位置的数据进行运算,一个为1就是1,两个都为 0才是 0
- ^ 对两个操作数统一位置的数据进行运算,相同为0,不同为1
- 以上三个运算符当操作数为boolean作为逻辑运算符,操作数为整数作为位运算符
- 位移运算符
- 执行流程:先将左边的操作数转为二进制,然后向某一个移动第二个操作数个位数(推荐使用位移运算符)
- (<<左移): 向左移动第二个操作数个位数,空位补0 规律 : 8<<3==? 8*2^3
- (>>右移) : 向左移动第二个操作数个位数,移出位置忽略不计,剩下的就为2进制结果 规律 : 8>>3==? 8/2^3
6.工具类 Scanner(接受用户输入键盘的内容)
- 按操作数的个数分类
- 一元运算符|单目运算符 操作数只有1个 ++ – 正号 符号
- 二元运算符|双目运算符 操作数只有2个 + - * / …
- 三元运算符|三目运算符 条件运算符
//1.导包 import java.util.Scanner; //2.创建Scanner的变量|引用 Scanner sc = new Scanner(System.in); //3.使用功能 引用.nextInt() 接收用户键盘输入的int类型的整数 ** 引用.nextByte() 接收用户键盘输入的byte类型的整数 引用.nextShort() 引用.nextLong() 引用.nextFloat() 引用.nextDouble() 引用.next() 接收用户键盘输入的字符串,从有效字符开始接收,遇到空格停止接收,直到遇到enter结束功能 引用.nextLine() 接收用户输入一整行内容,包含空格,遇到enter结束功能 使用 nextLine()功能之前如果存在系列next功能,需要处理遗留enter问题 //4.释放资源 sc.close();Random(产生随机数)
//1.导包 import java.util.Random; //2.创建Random类型的引用 Random ran = new Random(); //3.使用功能 ran.nextInt(); 产生int范围内的随机数 ran.nextInt(n); 产生[0,n)范围内的随机整数 [min,max) ran.nextInt(max-min) + min 推导 :7.流程控制
1.顺序结构 (从上到下执行)
2.选择结构(满足条件执行对应的代码段)
if语句
单分支 if(boolean表达式){ 满足条件执行的代码段; } 执行流程 : 1.boolean表达式,得到boolean结果 2.如果结果为true,执行{}中的语句体 如果结果为false,跳过if结构 双分支 if(boolean表达式){ 满足条件执行的代码段; }else{ 不满足条件执行的代码段; } 无论是否满足条件都能得到结果 多分支 if(条件1){ 语句体1; }else if(条件2){ 语句体2; }else if(条件3){ 语句体3; }.... else{ 语句体n; }switch语句
if 区间判断,定值判断 switch定值判断 区别 : 能用switch都能使用if代替,能用if不一定能用switch switch(表达式|变量){ ///(表达式|变量)中的数据只能为 : byte,short,int ,char , jdk1.5->枚举 , jdk1.7->字符串 case 值1: 语句体1; break; case 值2: 语句体2; break; .... default : //default可以定义在switch语句中的任意位置,一般为最后 语句体n; break; }
最后,这是今天的思维导图总结:
今天是愉快的一天……
暑期编程PK赛 得CSDN机械键盘等精美礼品!


