基本概念和基本语法***
组成:英语单词、三种括号、双引号、点操作符、分号
过程:符号----标识符----指令语句----程序
标识符和关键字
标识符
标识符:在代码中打上标记帮助识别的函数
-
标识符分为两大类:
-
系统预定义标识符(关键字)
-
用户自定义标识符:
- 先人写好,后人用
- 本人自定义
-
- 自定义标识符命名规则
- 硬规则 --不遵守就会不能通过:
1.能由数字、字母、$组成
2.数字不能开头,严格区分大小写
3.不能与关键字重复
- 潜规则--行规 1.见名知意
2.类名 (首字母大写 AaaaBbbbCccc)
变量名(aaaBbbCcc)
常量名(AAA_BBB_CCC)
-
类的书写
- Java中所有的代码都要写在类的{}当中
- 如果这个类的访问修饰符是public的,那么类名必须和java文件名保持一致;
- 一篇java文件可以书写多个类(通常不这么做),public的只能由一个;
- 编译后的class文件数量与java文件数量无关,只和java文件中定义的类的数量有关。(一个类一个class文件)
-
main方法
-
main方法又叫主方法定义:main方法书写规定,是整个程序的入口
1、一个项目里面可以由多个main方法
2、一个类里面只能有一个main方法
-
-
注释
单行注释 // 快捷键: ctrl+/
多行注释:/* */ 快捷键: ctrl+shift+/
文档注释 :/** */
数据类型、变量与常量
计算机存储单位:字节byte 一个字节的范围:0-255
-
二进制:10进制除以2取余数,余数倒序排放
- 原码:正数
- 反码:负数,原码0与1互换
- 补码:反码加1
结论:小数存放:在计算机中有精度问题
数据类型作用:告知计算机,用什么方式存储数据;告知计算机,划分多大的空间存储数据
基本数据类型
-
整型:
- byte:1个字节(-128-127)
- short:2个字节
- int :4个字节 ,默认
- long:8个字节 1L//long
-
浮点型:
-
float:4个字节
-
double:8个字节,默认
eg: 3.14F 是float
-
-
字符型 :
-
char专用于表示字符,所占空间是2个字符(用单引号引用,里面只能有一个字符eg:'1')
ASCII码表:A:65 a:97 大小写相差 32 0:48
eg: 'A'
- 转义字符例外:’\n‘ 换行 '\r' 回车 '\t' 水平制表符 '' 代表\
-
布尔型:boolean 空间大小不确定,由根据jvm根据实际情况划分
两个值:true:真 false:假
-
- 引用数据类型:目前只需要:String---字符串型
变量
-
变量本质
就是在内存中分配一个空间,然后可以往里面存放数据;且随着程序的运行,该空间的数据值可以变化。 语法:数据类型 变量名=初始值;
变量声明后需要进行初始化,否则不允许访问和使用它。原因是新声明的变量,里面的数据值不确定且没有意义。
-
注意:
- 付给变量的值需要和变量的数据类型匹配;
- 初始值具体多少依赖于我们程序的需要,不一定是0;
double t1,t2,t3;//仅对同时声明同一类型的多个变量有效。
-
变量和赋值数据类型要匹配
-
数据类型相同
-
数据类型不同,需要数据类型转换
-
小值 放入 大变量 -- 自动类型转换
数据类型大小顺序: byte < short = char < int < long < float < double 布尔类型不参与转换
-
强制类型转换
语法: (被转换类型)数据值
强转后果是精度丢失,注意:不是四舍五入
-
-
-
变量的生命周期:
- 生------从变量声明语句被执行的时候开始;
- 死-----该变量声明语句所属{}结束
局部变量类型推断:
jdk10增加局部变量类型推断,允许var关键字代替变量申明中的数据类型,用var申明的变量必须马上附上初始值 int age =10;
常量
常量申明的语法:字面常量、符号常量
符号常量:给字面量起一个名字
** final 数据类型 常量名 = 常量值;**
常量名:AA_BB_CC
-
为啥要给常量取名字?
- 把业务含义带入到常量值当中
- 便于修改
基本的运算符
算数运算符*
最重要的:所有的算术运算符号,如果左右两端的运算数数据类型 一致,那么结果就是该类型的结果。如果不一致,那么结果就是大的那个数据类型的结果
算术运算符: + - * / %
-
当+号左右两端出现一个字符串的时候,那么它执行的是字符串拼接动作。
-
% : 取模,取余 该符号是对左右两个操作数做除法,只不过最终结果不是商而是余数
-
特殊:
- 余数正负号,只跟第一个被除数有关;
- %符号的运算只在整数运算下才有意义;
比较运算符*
-
比较运算符: > < >= <= != ==
比较运算符最终的结果只能是boolean类型true或false
逻辑运算符*
-
逻辑运算符之"和",又被称之为"与","且"
-
连接两个boolean表达式,当它们同为true,那么整体返回true;
-
只要有一个为false,整体返回假;
-
符号:
- && - 逻辑与,是专用的逻辑符号
- & - 位与,本质是位运算符,只是当它左右两端是boolean类型时,表现出和"&&"同样的效果。
- 区别:
- 逻辑与&& 又被称之为"短路运算符",当它判断出第一个表达式为false的时候,它不会去执行第2个表达式;
- 位与 不短路
-
-
逻辑运算符之"或"
-
连接两个boolean表达式,当两个表达式有一个为true的时候,整体就为true;
-
符号
- || - 逻辑或,专用的或符号
- | - 位或,本质也是位运算符,只是当它左右两端是boolean类型时,表现出和"||"同样的效果
- 区别:
- 逻辑或 "||" 又被称之为"短路运算符",当它判断出第一个表达式为true的时候,它不会去执行第2个表达式;
- 位或"|" 不短路
-
-
逻辑运算符之"非"
- 用来对一个boolean表达式的结果取反。如果这个表达式是true,取反后就是false; 反之亦然。
- 符号 !
-
异或效果是当两个boolean表达式不同的时候返回true,相同的时候返回false;
- 符号: ^
赋值运算符*
-
把赋值运算符右边的表达式,赋给左边的变量
- 左边只有一个变量
- 要注意左右两边的数据类型:自动类型转换和强制类型转换
-
变形的赋值运算符(一):+= -= *= /= %=
语法:变量=变量+值; 变量+=值;
-
变形的赋值运算符(二):++ - - 又被称为“自增长”,“自减小”
- a++;a--;a++ 后加 a--后减
- ++a前加 --a前减
三目运算符
-
三目运算符格式: 表达式1 ? 表达式2 : 表达式3
- 表达式1必须是一个布尔表达式;
- 当表达式1为true的时候,用表达式2的结果作为整个三目运算符的结果;
- 当表达式1为false的时候,用表达式3的结果作为整个三目运算符的结果
位运算符
输入和输出
通过使用先人提供的Scanner的类,完成控制台输入;
-
Scanner的使用步骤:
- 产生一个Scanner对象;
- 调用该对象的方法完成输入;
- 关闭Scanner对象