一:Java基础之变量
变量:在程序的执行过程中,其值发生改变的量
变量的三要素?
1)数据类型 2)变量名 3)初始化值
定义变量的注意事项:
1)定义变量,不能是Java中的关键字
2)不能是以数字开头
3)一个变量名不能重复定义
4)建议:一行定义一个变量
关于变量中的一些问题
在进行变量计算的时候 :尽量同一个的数据类型之间进行换算
不同类型之间的数据:数据类型的默认提示
byte,short,char三个之间相互不转换的,但是一旦参与运算,都默认转换转换成int类型
强制类型转换:
目标数据类型 变量名 = (目标数据类型)(变量值);
面试题:
byteb1=3,b2=4,b;
b=b1+b2;
b=3+4;
哪句是编译失败的呢?为什么呢?
b=b1+b2;编译失败: byte,short,char之间相互不转换,一旦进行运算的,默认提升为一个int类型
变量相加,是先看数据类型,最终相加后的结果是否在当前这个类型范围之内
b=3+4;编译正确: 常量相加,是运算,看当前结果是否在范围之内!
二.Java基础之常量
常量:在程序的执行过程中,其值不发生改变的量
* 常用的分类:
* A 字面值常量
* a:字符串常量 : 用双引号括起来的内容
* "hello"
* b:字符常量: 用单引号括起来的单个内容
* 'A','a','0' ,
* 'ab'(错误的)
* c:整数常量
* 100
* d:小数常量
* 3.1415926
* e:布尔常量:
* true(false)
* f:空常量
* null (在讲面向对象的时候,如果一个对象为null,那么一定要给对象进行非空判断)
if(xxx!=null){
}
B 自定义常量(在继承部分讲)
三.Java基础之关键字
关键字:在java中被赋予特定含义的单词
class:java中最基本单元
public:权限修饰符:公开的
private:私有的
java中的标识符:
给类,接口,方法,包(package)等起名字的字符序列
四.Java基础之标识符
1.标识符的组成规则:
1)英文的字母大小写
2)数字字符
3)$和_
2.注意事项:
不能以数字字符开头
3.针对包(目录)名命名的规则: 字母全部都小写
单级包:
westos
多级包:
org
westos
makename
4.类,接口命名的规则:
单个单词:第一个字母大写
举例:classDemo
多个单词:每个单词的首字母都大写
举例:classHelloWorld
5.给方法命名的规则:
单个单词:字母全部都系小写
比如:main()
多个单词:一个单词全部小写,从第二个单词每个单词首字母大写
比如:checkUserName()
6.给常量命名的规则:
单个单词:字母全部大写
HELLO
多个单词:字母全部大写,每个单词用下划线隔开
HELLO_WORLD
五.Java基础之数据类型
引用数据类型(数组讲)
基本数据类型:4类8中
整数类型: (整数类型默认int类型) 占用的字节数 范围
byte :字节类型 1 -128~127
short:短整型 2
int :整数类型 4
long :长整型 8
浮点类型:(浮点类型默认double类型)
float :单精度 4
double:双精度 8
字符类型:
char 2
布尔类型
boolean(true/false) 1
注意事项:
1>定义long类型的变量:由于整数类型默认是int类型 ,所有在long类型变量值后面加上一个标记:L或者l ,建议使用L
2>浮点类型默认是double类型,float类型加标记:F或者f,建议使用F
六.Java基础之运算符:
1.相关的概念:
1>:运算
对常量和变量进行操作的过程称为运算。
2>:运算符
对常量和变量进行操作的符号称为运算符
3>:操作数
参与运算的数据称为操作数
4>:用运算符把常量或者变量连接起来符号java语法的式子就可以称为表达式。
不同运算符连接的式子体现的是不同类型的表达式。
2.分类
1>算术运算符
+的几种作用:
加法
正数
字符串连接符
除法的时候要注意一个问题:
整数相除,只能得到整数
小数,可以*1.0
2>赋值运算符
符号:
= , +=, -=, *=, /=, %=
=为基本的赋值运算符,其他的为扩展的赋值运算符
3>比较运算符
注1:比较运算符的结果都是boolean型,也就是要么是true,要么是false。
注2:比较运算符“==”不能误写成“=”
4>逻辑运算符
注意事项:
“&”和“&&”的区别:
单&时,左边无论真假,右边都进行运算;
双&时,如果左边为真,右边参与运算,如果左边为假,那么右边不参与运算。
“|”和“||”的区别同理,双或时,左边为真,右边不参与运算。
异或( ^ )与或( | )的不同之处是:当左右都为true时,结果为false。
5>三目运算符
格式
(关系表达式)?表达式1:表达式2;
如果条件为true,运算后的结果是表达式1;
如果条件为false,运算后的结果是表达式2;
Java基础之键盘录入
1.键盘录入数据概述:
我们目前在写程序的时候,数据值都是固定的,但是实际开发中,数据值肯定是变化的,所以,我准备把数据改进为键盘录入,提高程序的灵活性。
2.如何实现键盘录入数据呢?(目前先记住使用)
1>导包(位置放到class定义的上面)
import java.util.Scanner;
2>创建对象
Scanner sc = new Scanner(System.in);
3>接收数据
Int数据类型接收:int x =sc.nextInt();
字符串接收:int x = sc.nextLine();
Java基础之流程控制语句
1.流程控制语句分类
1>顺序结构
是程序中最简单最基本的流程控制,没有特定的语法结构,按照代码的先后顺序,依次执行,程序中大多数的代码都是这样执行的。
流程图:
2>选择结构
选择结构有特定的语法规则,代码要执行具体的逻辑运算进行判断,逻辑运算的结果有两个,所以产生选择,按照不同的选择执行不同的代码。
两种选择结构语句
*if语句
if语句有三种格式
if语句第一种格式:
if(关系表达式) {
语句体
}
执行流程
首先判断关系表达式看其结果是true还是false
如果是true就执行语句体
如果是false就不执行语句体
if语句第二种格式:
if(关系表达式) {
语句体1;
}else{
语句体2;
}
执行流程
首先判断关系表达式看其结果是true还是false
如果是true就执行语句体1
如果是false就执行语句体2
if语句第三种格式:
if(关系表达式1) {
语句体1;
}else if (关系表达式2) {
语句体2;
}
…
else{
语句体n+1;
}
执行流程
首先判断关系表达式1看其结果是true还是false
如果是true就执行语句体1
如果是false就继续判断关系表达式2看其结果是true还是false
如果是true就执行语句体2
如果是false就继续判断关系表达式…看其结果是true还是false
…
如果没有任何关系表达式为true,就执行语句体n+1。
*switch语句
switch语句的格式
*
* switch(表达式){
* case 值1:
* 语句1;
break;
case 值2:
语句2;
break;
case 值3:
语句3;
break;
....
default:
语句n+1;
break;
*
* }
*
* 执行流程:
* case语句中的值1和表达式中的值比较,如果一致,执行语句1
* 如果不一致,走case 值2,再进行比较,如果椅子,执行语句2
* ....
*
* 如果上述都不一致,执行default中的语句
*
* 格式的解释:
* switch:当前是一个选择结构语句,它的作用和if语句是一样
* case语句:它后面的值是和表达式进行比较
* break:表示结束当前switch语句
* default:是和if语句中的else意识时候一样的,如果条件都不成立,执行default中的语句
*
*
* switch语句后面的表达式:能跟的类型:byte,short,int,char
* jdk5以后,可以跟枚举
* jdk7以后,可以String类型
* 关于switch语句中的注意事项:
* 1)case语句的后面只能跟常量(根据具体的需求),不能跟变量! javascript中的case后面是可以跟变量并且还可以表达式
* 2)default语句可以在switch语句中的任何位置,不影响代码执行,如果是在语句中,那么break最好带上
* 3)建议把break带上,否则会造成一个现象:case穿透!
* 4)switch语句的结束条件:
* 1)语句break语句结束
* 2)执行默认执行到末尾语句结束
* 5)case语句的后面是冒号,表示和switch语句中的表达式进行比较
* 6)跳转控制语句: break,continue,retrun (后面讲)
*
3>循环结构
*For循环
格式:for{}
*While循环
格式:while(条件){}
*Do while 循环
格式:do{
}(while 条件)
七.Java基础之方法
方法:就是完成特定功能的代码块
格式:
修饰符返回值类型 方法名(参数类型 参数名1,参数类型 参数名2…) {
函数体;
return返回值;
}
方法格式解释
修饰符: 比较多,后面会详细介绍。目前publicstatic
返回值类型: 用于限定返回值的数据类型
方法名: 一个名称,为了方便我们调用方法
参数类型: 限定调用方法时传入参数的数据类型
参数名: 是一个变量,接收调用方法时传入的参数
方法体 :完成功能的代码
return :结束方法以及返回方法指定类型的值
返回值 :程序被return带回的结果,返回给调用者
方法调用的两种形式:
1>有明确返回值的方法调用:
单独调用,没有意义
输出调用,有意义,但是不够好,因为我不一定非要把结果输出
赋值调用,推荐方式
2>没有明确返回值的函数调用:
其实就是void类型方法的调用
只能单独调用
注意事项:
方法不调用不执行
方法与方法是平级关系,不能嵌套定义
方法定义的时候参数之间用逗号隔开
方法调用的时候不用在传递数据类型
如果方法有明确的返回值,一定要有return带回一个值