这篇文章主要介绍了JavaSE教学的讲解,通过具体代码实例进行16409 讲解,并且分析了JavaSE教学的详细步骤与相关技巧,需要的朋友可以参考下https://www.b2bchain.cn/?p=16409
本文实例讲述了2、树莓派设置连接WiFi,开启VNC等等的讲解。分享给大家供大家参考文章查询地址https://www.b2bchain.cn/7039.html。具体如下:
Java教学之Java语言基础
文章目录
- Java教学之Java语言基础
- 先了解基本的计算机常识
- 一、java开发环境的搭建
- 二、java编程基础
-
- 1.变量概念
- 2.变量的声明
- 3.使用变量的注意事项
- 标识符的命名法则
- 数据类型
-
- 数据类型的分类
- 常用进制及转换
- 整数数据类型
- 浮点数据类型
- 布尔类型
- 字符类型
- 基本数据类型的转换
- 运算符
- 分支语句
-
- 语句一
- ②语句二
- ③语句三
- ④语句四
- 循环语句
-
- 循环语句一 for
- continue关键字
- break关键字
- 双重循环
- while循环
- do..while循环
- 一维数组
-
- 一维数组的概念
- 一维数组的声明方法
- 一维数组的初始化方法
- 内存结构 栈区
- 内存结构之堆区
- 数组的优缺点
- 数组工具类常用方法
- 二维数组
- 二维数组的声明和初始化方式
先了解基本的计算机常识
1.计算机是一种用于高级计算,使用非常广泛的设备,主要分为计算机硬件和计算机软件两部分
2.计算机硬件是客观存在的相关设备,计算机软件则是负责控制控制各种硬件完成相应工作的需求
3.常见硬件:cpu,输入输出设备,内存,机箱,主板,电源等辅助设备
4.cpu:
①是计算机中最核心的设备
②是计算机的运算核心和控制核心
③主要负责处理计算机发出的指令和计算机软件中的数据
5.内存:
①用于暂时保存CPU中的运算数据以及硬盘和外部储存器交换的数据
②CPU可以直接访问,效率高
③缺点是,内存小,不能永久保存,断电内存中数据会全部丢失
6.硬盘:
①用于永久储存数据,容量大,且断电后不会丢失
②CPU不能直接访问,若想访问,则需要预先加载到内存中来
7.常见的软件分为系统软件和应用软件,系统软件:操作系统
系统软件是其他软件的操作基础
一、java开发环境的搭建
1.IDEA下载网址:https://www.jetbrains.com/
(淘宝有卖**程序,木有钱的小可爱可以去买一个十几块,有钱的还是支持正版)
2.JDK:www.sun.com www.oracle.com
(比较恶心的是,很多时候都要注册oracle账号,他还要扯到什么公司)
3.JDK称为Java开发工具包( Java Development Kit)。Java开发人士需
要下载和安装JDK,目前的主流版本为JDK11
4.JRE:称之为Java运行时的环境(Java Runtime Environment),提供了java程序运行所必须的软件环境,无论是java的开发还是运行都必须需要JRE的支持
5.jdk,jre,jvm(java虚拟机)三者关系
JDK都集成了JRE和JVM,所以直接下JDK就可以用
6.下载完之后,一路傻瓜式安装(下一步…)
7.配置环境变量:
①此电脑–>属性–>高级系统设置–>环境变量–>在系统环境变量中新建
JAVA_HOME,路径填写JDK安装路径
8.检验配置是否成功
打开CMD输入java -version看是否显示版本信息
关于IDEA,去淘宝店自己买吧,有钱请支持正版
二、java编程基础
1.变量概念
①变量的概念:在计算机中需要储存一个单个数据时,就可以声明一个变量,变量声明的本质就是在内存中申请一个储存单元,因为该储存单元的内容可以改变,故称为变量
②由于数据储存的数据内容大小不同,故所需要的储存单元大小不同,因而要用数据类型来加以描述,还要给变量加一个名字,为了后续方便访问
2.变量的声明
①声明变量使用
数据类型 变量名 = 初始值 ;
其中 “= 初始值”可以省略,分号不可以省略
//声明变量 int i1 = 10; // 数据类型 数据名 = 初始值 分号 int i2; //其中= 初始值可以省略 加大空格为了好写注释
3.使用变量的注意事项
①JAVA是强类型语言,因此必须指明数据类型
//错误示范 i1 = 0;//不可
②不可以重复声明变量
//错误示范 int i1 = 0; int i1;
③变量在使用前必须初始化
错误示范 int i1; //未初始化直接使用 System.out.println(i1);
标识符的命名法则
①可以用数字,字母,_(下划线),$,进行命名,其中数字不能开头
②区分大小写,不限长度,不宜过长
③尽量做到见名知意,支持中文,但不推荐
④标识符可以给类/变量/属性/方法/包 起名字
数据类型
数据类型的分类
数据类型一般分为以下两种
①基本数据类型
byte,char,short,boolean,int,float,double,long
②引用数据类型
数组,字符串,枚举,接口,标注
常用进制及转换
①十进制,二进制,八进制,十六进制
十进制为每十进一,二进制为每二进一,依次递推
②二进制最左位为符号位,若是0则代表非负数,若是1则代表负数
③正十进制转换为二进制
用十进制数不断除2,不断取出余数,直到商为0,然后将取出的余数按逆序排序
正二进制转化为十进制
①加权法,使用二进制中的每个数字乘以当前位的权重再累加起来
101101 = 1 * 2 ^ 5 + 0 * 2 ^ 4 + 1 * 2 ^ 3 + 1 * 2 ^ 2 + 0 * 2 ^ 1 + 1 * 2 ^0
(注意数字是从0开始排列
负十进制转化为二进制
①先将负数的绝对值转化为二进制
②按位取反再加一
-45 绝对值 45 转二进制 00101101 按位取反 11010010
(一个字节等于8位补全了8位)
之后加一 11010011
负二进制转化为十进制
①先减1再按位取反,合并为十进制整数后添加负号
-45 11010011 先减一 11010010 按位取反 00101101
单个字节表示的数字范围
非负数表示范围:0000 0000 ~ 0111 1111 => 0 ~ 127 => 0 ~ 2^7-1
负数表示范围:1000 0000 ~ 1111 1111 => -128 ~ -1 => -2^7 ~ -2^0
单个字节表示的整数范围是:-2 ^ 7 ~ 2 ^ 7-1,也就是-128 ~ 127
整数数据类型
整数数据类型包括:byte,int,short,long
byte:占一个字节
short:占两个字节
Int:占四个字节
long:占四个字节
(每个类型表示范围,可以用单个字节表示范围推导出)
在Java程序中直接写出的整数叫做直接量,字面量,常量,java都会自动默认为int,若想表示更大的数据在后面加l或L,推荐L
int i1 = 10; int i2; i2 = i1 * 100;//100即为默认int类型 100L则代表了100是long类型的
浮点数据类型
①double占8个字节,叫做双精度浮点数,可表示15位有效数字
范围-1.798E308~1.798E308
②float占四个字节,叫做点精度浮点数,可表示7位有效数字
范围3.403E38~3.403E38。
③java中直接写出的浮点数,都属于double类型
若想要表示float类型的,只需要在后面加上f或F(类比整数类型)
布尔类型
①boolean类型,两种值 一种是表示真的true 一种是表示假的false
②boolean所占的字节数没有明确规定,可以认为是1字节
字符类型
①在java中用来表示,单个字符的的数据类型:char ‘a’这样的表示
②char的底层原理是,对应了ASCALL码表中的每一个字符,用数字编号代表不同的字符
③要求掌握的ASCII有:‘0’ – 48 ‘A’ – 65 ‘a’ – 97 空格 – 32 换行符 – 10
基本数据类型的转换
①自动类型转换(从小类型向大类型进行转换)
byte –> short –> int –> long –> float –> double
char –> int
②强制数据类型转换一般用于大类型转换小类型
目标类型 = (目标类型)源类型变量名
int a = 1; byte = (byte)a //可以把a强制转换为byte //强制类型转换有风险,原本数据类型的保存的数值范围可能会超过墙砖后的数据类型,导致数据溢出
运算符
①算术运算符
“ + ”表示加法运算
" – "表示减法运算
“ / ”表示除法运算
“ * ”表示乘法运算
“ % ”表示求余,求模的运算
其中 + 还可以表示字符串的拼接
判断标准为 若两边都位数字,则相加,若加号两边有一个位字符串,则进行字符串的拼接
int i1 = 10; int i2 = 5; i1 + i2 //15 i1 - i2 //5 i1 * i2 //50 i1 / i2 //2 i1 % i2 //0 i1 + string //10string
②关系比较运算符
小于 <
大于 >
不等于 !=
大于等于 >=
小于等于 <=
等于 ==
注意,关系比较运算符返回的都是boolean类型的结果
为真则true 为假则false
int i1 = 10; int i2 = 5; i1 < i2 //false i1 > i2 //true
不再一一列举用法
③自增自减运算符
“ ++ ”自增运算符
“ – ” 自减运算符
注意:只能用于变量 不能用于常数
int i1 = 10; i1 ++ //11 i1 -- //10
④逻辑运算符
“&&”与运算符 相当于 并且 同真为真 一假为假
true && false //false true && true //true
“||”或运算符 相当于或 同假为假 一真为真
true || falase //true false || false //false
“!” 非运算符 真为假,假为真
!true //false !false //true
注意:逻辑运算符 两侧的操作数都必须是boolean表达式
短路特性:
与运算符第一个为假时,计算机将不会判断第二个表达式的真假,直接判 定整个表达式为假
或运算符第一个为真时计算机将不会判断第二个表达式的真假,直接判 定整个表达式为真
③三目运算符
条件 ?表达式1 :表达式2
条件为真则执行 表达式1 条件为假 执行表达式2
int i1 = 10; int i2 = 5; i1 < i2 ? System.out.println(i1) : System.out.println(i2) //5
④赋值运算符
” = “ 赋值运算符
用于将左边的数值赋值给 右边的变量 (会覆盖原来的值)
int i1 = 10; i1 = 20; //现在i1为20
赋值运算符和算术运算符结合
+= -= *= 等等
int i1 = 10; i1 += 10; //表示含义为 i1先加10再赋值给i1 现在i1 = 20
⑤移位运算符
“ << ” 左移运算符 将二进制位向左移,右边空出用0补充
“ >> ”右移运算符 将二进制位向右移动,左边空出用符号位补充
“ >>> ” 右移运算符,将二进制位向右移动,左边空出用0补位
⑥
& 表示按位与运算符,按照二进制位进行与运算,同1为1,一0为0.
| 表示按位或运算符,按照二进制位进行或运算,一1为1,同0为0.
~ 表示按位取反运算符,按照二进制位进行取反,1为0,0为1.
^ 表示按位异或运算符,按照二进制位进行异或运算,同为0,不同为1.
分支语句
需要使用条件判断的时候使用分支语句
分支语句结构
语句一
if(判断条件){ 执行语句 } //当判断条件成立时 执行if里面的执行语句 //条件不成立则跳过该语句
找最大值
public static void main(String[] args) { int i1 = 10; int i2 = 5; if(i1 < i2){ System.out.println(i2); } System.out.println(i1); }
②语句二
if(判断条件){ 执行语句1 }else{ 执行语句2 } //条件成立执行性语句1,不成立执行语句2
判断正负
public static void main(String[] args) { int i1 = -10; if(i1 > 0){ System.out.println("为正数"); }else{ System.out.println("为负数"); } }
③语句三
if(条件1){ 执行语句1 }else if(条件2){ 执行语句2 }else if(条件3){ 执行语句3 } //条件1成立,则执行执行语句1 //条件2成立,则执行执行语句2......以此类推
④语句四
switch…case
switch(变量或表达式){ case 字面值1:执行语句1,break; case 字面值2:执行语句2,break; case 字面值3:执行语句3,break; ... default:执行语句n; } //计算变量或表达式的值,若与字面值1对应则,执行语句1, //若与字面值2对象,执行语句2....以此类推 //若都不对应 执行执行语句n
switch…case支持int short byte char类型,从jdk1.5开始支持枚举
jdk1.7开始支持String类型
循环语句
当想要重复执行某一条语句的时候,就要用到循环语句
循环语句一 for
for(初始化表达式; 条件表达式; 修改初始值表达式){ 循环体 } //进入for循环的时候,先执行初始化表达式,一般是声明变量并赋值 //然后执行条件表达式,判断条件表达式是否成立,成立则执行循环体 //然后执行修改初始值表达式,然后再次判断表达式是否成立 //知道条件表示不成立为止
打印1-100的所有数
public static void main(String[] args) { for(int i = 1;i <= 100;i++){ System.out.println(i); } }
continue关键字
continue关键字可以跳过本次循环去执行下一次循环
打印1-20,并跳过所有5的倍数
public static void main(String[] args) { for(int i = 1;i <= 20;i++){ if(i % 5 == 0){ continue; } System.out.println(i); } }
break关键字
break关键字用于跳出当前循环
打印1-20 打印到10 跳出当前循环
public static void main(String[] args) { for(int i = 0;i <= 20;i++){ if(i == 10){ break; } System.out.println(i); } }
打印到9就会停止
for( ; ; ) – 这种没有循环条件的循环叫做 无限循环,俗称“死循环”
双重循环
for(初始化表达式1; 条件表达式1; 修改初始值表达式1){ for(初始化表达式2; 条件表达式2; 修改初始值表达式2){ 循环体 } }
执行顺序:
先判断条件表达式1是否成立,成立则执行内部for循环,知道内部for循环的条件表示2不成立,则跳出内部表达式,再次执行外部for循环,知道条件表示1也不成立
双重循环的特点:
1.外层循环用于控制打印行数,内层循环用于控制打印列数,外层循环多走一次,内层循环从头跑到尾一次
2.开发中若需要多行多列,则使用多重循环
3.不易嵌套太多,一般来说最多嵌套3层,最常见为2层
使用双重循环打印
public static void main(String[] args) { for(int i = 0; i < 5 ; i++){ for(int j = 0;j < 5;j++){ System.out.print("*"); } System.out.println(); } }
break关键字跳出多层循环
• 在嵌套的循环结构中,break用于退出所在循环体。
• 如果要退出外层循环体,需要使用标号的方式。
outer: for (…) {
for(…) {
break outer;
}
}
public static void main(String[] args) { outer:for(int i = 0; i < 5 ; i++){ for(int j = 0;j < 5;j++){ System.out.print("*"); break outer; //这样只会打印一次,就会跳出外部循环,这个循环结束 } System.out.println(); } }
while循环
while(循环条件){ 循环体 }
循环条件为真时执行循环体,直到循环条件为假
while循环和for循环的差别:
1.二者是可以完全互相替换的,推荐使用for循环
2.while循环更适用于不明确具体循环次数的情况
3.for循环适用于明确循环次数的情况
4.while(true) 等价于 for( ; ; ) 都表示无限循环
do…while循环
do{ 循环体; }while(条件表达式);
执行顺序:
先执行循环体,在判断条件表达式是否成立,若成立则继续执行,不成立,则停止
特点:
至少会执行一次循环
一维数组
一维数组的概念
1.当需要储存单个数值的时候,只需要声明一个变量即可
2.当需要记录多个数据类型相同的数值时,声明一个数组即可
3.数组本质上就是在内存中申请一块连续的储存单元
4.数组是相同数据类型多个元素的容器,元素按线性排列,是一种引用数据类型
一维数组的声明方法
1.数据类型[] 数组名称 = new 数据类型[数组长度]
2.调用数组的length属性,可以获得数组的长度
3.数组的下标是从0开始的,一个长度n的数组,下表是从0-n-1;
一维数组的初始化方法
1.不初始化 基本数据类型数组
int byte short long char 系统自动初始化为0;
boolean初始化为false;
2.初始化方法
数据类型[] 数组名称 = {初始值1,初始值2,初始值3}
内存结构 栈区
栈区用来保存程序运行当中所有的局部变量,一个运行的java程序从开始到结束会有多次变量声明
内存结构之堆区
JVM会在内存空间中开辟一个称为堆区的地方,这部分用于储存new 关键字创建的数组和对象
数组的优缺点
1.用下表进行数据访问很方便,速度很快
2.数组要求所有元素类型相同
3.数组要求内存空间连续,且长度一旦确定,便不可改变
4.增加和删除时,可能会涉及到大量元素的移动,效率低
数组工具类常用方法
1.static String toString(int[] a) 输出数组中的内容
2.static void fill(int[] a, int val) 将参数指定元素赋值给数组中所有元素
3.static boolean equals(boolean[] a,boolean[] a2) 判断两个数组元素内容和 次序是否相同
4.static void sort(int[] a) 对数组中的元素进行从小到大排序
5.static int binarySearch(int[] a, int key) 从数组中查找参数指定元素所在的位置
public static void main(String[] args) { int[] array1 = {1,2,3,4,5}; int[] array2 = {3,8,5,10,7}; int[] array3 = new int[5]; //打印数组测试 System.out.println(Arrays.toString(array1)); //给所有元素从小到大排序 Arrays.sort(array2); System.out.println(Arrays.toString(array2)); //给数组填充元素 Arrays.fill(array3,10); System.out.println(Arrays.toString(array3)); //查找指定元素所在位置 int i = Arrays.binarySearch(array1, 3); System.out.println(i); //比较两个数组的内容和次序是否相同 boolean equals = Arrays.equals(array2, array3); System.out.println(equals); }
[1, 2, 3, 4, 5] [3, 5, 7, 8, 10] [10, 10, 10, 10, 10] 2 false
二维数组
1.二维数组本质上就是,多个一维数组罗叠在一起
2.二维数组的元素,是一维数组,而每个一维数组里的元素才是真正的数值
二维数组的声明和初始化方式
声明方式:
数据类型[][] 数组名称 = new 数据类型[行数][列数]
初始化方式:
数据类型[][] 数组名称 = {{元素1,元素2…},{元素1,元素2…}}
本文转自互联网,侵权联系删除JavaSE教学
最新评论