Java 基础
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Java 基础,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含7348字,纯文字阅读大概需要11分钟。
内容图文
![Java 基础](/upload/InfoBanner/zyjiaocheng/647/18ef5c57a5bd41cbb86066f92e77e25d.jpg)
目录
1 标识符
标识符可以标识类名、接口名、变量名、方法名
命名规则:
1.所有类名、接口名、变量名、方法名
(1)标识符是由数字、字母、下划线和美元符号构成, 不能以数字开头
(2)关键字和保留字不能作为标识符
(3)标识符区分大小写
(4)标识符理论上没有长度限制
(5)做到见名之意
2.区别
(1)类名、接口名:所有单词首字母大写 (如:HelloWorld)
(2)变量名、方法名:首个单词首字母小写,其他单词首字母大写(如:firstProgram)
(3)常量:每个字母都大写,单词之间用下划线连接(如:MAX_VALUE)
2 数据类型
Java 总共有两种数据类型,为基本类型和引用类型,基本类型有 8种,引用数据类型有 3种
基本类型:byte、short、int、long、float、double、char、boolean
引用类型:数组、类、接口
3 变量
变量其实是java 中的一个最基本的单元,也就是内存中的一块区域,Java中的变量有四个基本属性:变量名,数据类型,存储单元和变量值
(1)变量名:合法的标识符
(2)变量的数据类型:可以是基本类型和引用类型(必须包含类型)
(3)存储单元:存储单元大小是由数据类型决定的,如:int 为 4个字节 32位
(4)变量值:在存储单元中放的就是变量值(如果是基本类型放的就是具体值,如果是 引用类型放的是内存地址,如果null,表示不指向任何对象)
变量的声明格式: 类型 变量名;
变量赋值: 变量名 = 值;
注:局部变量必须自行初始化,实例变量和静态变量可不自行初始化(默认向“0”靠齐)
4 运算符
4.1 运算符的分类
按功能分:
(1)算术运算符:+(加)、-(减)、*(乘)、/(除)、 ++(自增)、 - -(自减)、%(取余)
(2)关系运算符:<(小于)、<=(小于或等于)、>(大于)、>=(大于或等于)、==(等于)、!=(不等于)
(3)布尔运算符:&&(短路与)、||(短路或)、&(按位与)、|(按位或)、!(取非)、^(按位或)
(4)位运算符:、&(按位与)、|(按位或)、^(异或)、~(按位非)、>>(右移)、<<(左移)、>>>(无符号右移)
(5)赋值类运算符:=(基本赋值)、+=(加赋值)、-=(减赋值)、*=(乘赋值)、/=(除赋值)、%=(求余赋值)
(6)字符串连接运算符:+
(7)条件运算符:?:(格式: 条件 ? 语句1 : 语句2 条件成立,执行语句1,否则执行语句2)
(8)其他运算符:instanceof(格式: 类A instanceof 类B 判断A是否为B的实例对象或者B子类的对象)、new(这就是所谓的:没有对象?new一个)
4.2 运算符的优先级
运算符说明 | Java运算符 |
---|---|
分隔符 | . [] () {} , ; |
单目运算符 | ++ -- ~ ! |
强制类型转换运算符 | (type) |
乘法、除法、求余 | * / % |
加法、减法 | + - |
移位运算符 | << >> >>> |
关系运算符 | < <= > >= instanceof |
等价运算符 | == != |
按位与 | & |
按位异或 | ^ |
按位或 | | |
条件与 | && |
条件或 | || |
三目运算符 | ?: |
赋值 | = += -= *= /= &= |= ^= %= <<= >>= >>>= |
5 控制语句
java 控制语句可以分为3类:
控制选择结构语句: if、if else、switch
控制循环结构语句:for 、while、dowhile
改变控制语句顺序:break、continu
5.1 控制选择结构语句
(1)if 及 if else语句
格式如下,因注释掉会看不清, 故格式不注释,下同
if(表达式1){
语句 //表达式1成立执行
}
if(表达式2){
语句1 //表达式2成立执行
}else{
语句2 //表达式2不成立执行
}
//注:if else 可嵌套使用
//如
int age = 50;
if(age < 0 || age > 120){
System.out.println("年龄非法"); //只有一条语句可省略{},但建议写上
}else if(age < 19){
System.out.println("未成年");
}else
System.out.println("已成年"); //只有一条语句省略{}
(2)switch语句
switch也称为多重分支,具体格式及例子如下 :
/*
表达式的值只能为:char、byte、short、int 类型,boolean、long、float、double 都 是非法的
break 语句可以省略,但会出现 switch穿透
default 语句也可以省略,一般不建议省略,并且放置在最后
*/
switch(表达式){
case 值1:
语句1
break;
case 值2:
语句2
break;
default:
语句3
break;
}
//例子
int choose = 1;
switch(choose){
case 1:
System.out.println("选择1");
break;
case 2:
System.out.println("选择2");
break;
case 3:
System.out.println("选择3");
break;
default:
System.out.println("选择4");
break;
}
/*
如上述没有break; 将会输出
选择1
选择2
选择3
选择4
即前面讲到的穿透
*/
5.2 控制循环结构语
(1)for语句
格式及例子如下:
for(初始化部分表达式; 条件表达式; 更新表达式){
语句
}
/*注:
1.三个表达式都是可选项 像for(::){}也可
2.执行for循环时第一次循环(初始化表达式仅在第一次循环执行)时先执行初始化部分表达式,然后执行条件表达式,
如为真则执行语句,并在执行语句结束后执行更新表达式,否则终止执行
3.应注意避免出现死循环
*/
for(int i = 0; i < 3; i++){
System.out.println(i);
}
/*
输出:
0
1
2
执行过程:
先定义一个整型变量 i 并赋初值 0 (int i = 0)
然后判断当前i的值是否小于3 (i < 3)
i < 3 表达式成立输出0 (System.out.println(i);)
执行i++
接着判断当前i的值是否小于3 (i < 3)
i < 3 表达式成立输出1 (System.out.println(i);)
执行i++
再接着判断当前i的值是否小于3 (i < 3)
i < 3 表达式成立输出2 (System.out.println(i);)
执行i++
再次判断当前i的值是否小于3 (i < 3)
i < 3 表达式不成立结束循环
*/
(2)while语句
while(表达式){
语句
}
//可将上述for循环的例子改成while循环的例子,输出结果相同
int i = 0;
while(i < 3)
{
System.out.println(i);
i++;
}
(3)do while语句
do{
语句
}while(表达式);//注意有分号
//可将上述例子改成do while循环的例子,输出结果相同
int i = 0;
do{
System.out.println(i);
i++;
}while(i < 3);
/*
注:
do while与while 不同do while第一次执行时不论while里面的表达式是否成立,皆会执行一次循环体内的语句,
即 do while循环体内的语句至少执行一次
*/
5.3 改变控制语句顺序
(1)break语句
break语句有两种用途
1、用于switch语句中,从中途退出switch语句。
2、用于循环语句中,从循环体内直接退出当前循环。
注意:对于嵌套的循环语句和switch语句,break语句的执行只能退出直接包含break的那一层结构。
(2)continue语句
continue 语句只能用在循环语句中,表示在循环中执行到 continue 时,自动结束本次循环,然后 判断条件,决定是否进行下一次循环
6 方法初步
方法是可以重复调用的代码块,通常为了实现各种功能 方法的定义格式:
[方法修饰列表] 返回值类型 方法名(方法参数列表){ 方法体 }
方法修饰列表: 可 选 项 , 方 法 的 修 饰 符 可 以 包 括 : public,protected,private,abstract,static, final,synchronized,
其中public,protected,private 不能同时存在
返回值类型 如果没有返回值使用void 关键字,如果存在返回值可以是基本类型和引用类型, 如果存在返回值,使用 return 语句。return语句后面不能再执行语句,因为不可能会执行到,编译器会发生错误
方法名:任意合法的标识符,做到见名知意
方法参数列表:参数列表可以多个,如:sum(int a, int b)多个采用逗号分割
6.1 普通方法示例
public class MethodTest{
public static void main(String[] args){
work("小明");
}
//无返回值
public static void work(String s){
System.out.println(s + "在工作");
}
}
/*输出:
小明在工作
*/
6.2 方法的重载(Overload)
重载的条件 :
方法名相同
方法的参数类型、个数、(参数类型的)顺序至少有一个不同
方法的返回类型可以不同(不依靠返回类型来区分重载)
方法的修饰符可以不同,因为方法重载和修饰符没有任何关系
方法重载只出现在同一个类
实例:
public class OverloadTest{
public static void main(String[] args){
System.out.println(sum(1, 1));
System.out.println(sum(1.0, 1));
System.out.println(sum(1, 1.0));
sum(1.0, 1.0);
}
public static int sum(int a, int b){
return a + b;
}
/*
不构成重载与变量名无关
public static int sum(int b, int a){
return a + b;
}
*/
//构成重载
public static double sum(double a, int b){
return a + b;
}
//构成重载
public static double sum(int a, double b){
return a + b;
}
//构成重载
public static void sum(double a, double b){
System.out.println(a + b);
}
/*
不构成重载, 与返回值无关
public static double sum(double a, double b){
return a + b;
}
*/
/*
不构成重载, 与修饰符列表无关
static void sum(double a, double b){
System.out.println(a + b);
}
*/
/*输出
2
2.0
2.0
2.0
*/
}
7 递归
方法自身调用自身
qq_37961252 发布了7 篇原创文章 · 获赞 0 · 访问量 212 私信 关注内容总结
以上是互联网集市为您收集整理的Java 基础全部内容,希望文章能够帮你解决Java 基础所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。