第一阶段 Java核心语法18讲
|
第一阶段java语法,骨架------第二到第八,领域知识,器官 |
| 编程就是,控制计算机完成特定任务的代码。app,网站,系统,都要能做出来。 |
| 编程语言,与计算机沟通的无歧义的语言 |
| 只需要学一门主流语言,其他很容易入门 |
| 学语言学的是程序化思维,程序化思维是能留存的,语言框架开发工具都是三五年过时,站在计算机角度去解决问题的能力是有用的 |
| 不要背代码;记笔记用自己的话写思路,理解思路,跟着写代码,自己脱稿写代码,自己写;; |
| 语法只是框架骨架,具体领域的知识才是血肉;语法+计算机知识+商业业务,才是完全体; |
| 新掌握核心东西,先做东西玩起来,以后再严谨 |
|
002搭建开发环境
|
| 下载jdk8,中文甲骨文官网选择这个版本;安装路径避免中文符号; |
|
下载idea,找开发者工具intellij,在版本历史中选择2021年免费的社区版,
|
|
idea建立一个项目,file文件-project项目----src-main-java-右键new新建-java class-起名字(尽可能英文与数字避免中文与特殊符号,首字母大写)-class类型文件文件
左侧类型有java普通项目,maven类型,gradle类型,本课程只采用maven一种类型 右侧选择一个jdk项目文件,目前默认jdk8,如果下载的jdk版本多就自己手动选取一个即可 无其他操作
|
| 003 |
| 一直按shift,数字键可以出特殊符号;一直按shift,字母键可以出大写字母Z |
![]() |
![]() |
| 两种大括号结果都一样,但建议另起一行开始{然后在这一行书写,然后写完后另起一行打上} |
| ptyhon中缩进表示层级关系,但在java不靠缩进表示,而是靠大括号表示缩进,虽然java中不强制使用缩进,但缩进结构清晰,所以java也是用缩进 |
|
public static void main(String[] args){ }公开稳定空白主要方法(字符串数组 参数){ } System.out.println("hello yzk");系统向外打印; System首字母大写,分号用英文的分号 总之,编程是英文模式下的东西, |
![]() |
| 左侧src找main下面java,右键new建立java class回车;将{后鼠标回车单开一行写代码,main回车自动生成,在{后回车另开一行,输入System.out.println("hello yzk"); |
| 右键找run运行,出问题找下面build看看是哪一行的问题;sout内容要写在main方法大括号里面;printline的简写println |
| 注意System大写注意用英文格式的()”“注意()后有一个分号; |
| 这是一个控制台程序 |
| 004数据类型 |
| 程序=命令+数据+逻辑 用逻辑把命令和数据组织起来 |
| 命令又叫做方法,叫做函数,f()可以实现某种功能的工具 |
| 数据类型为了限定数据使用的范围: |
| 字面量,直接从字面就能看出,数字,字符,字符串等等,字面量就是数据; |
| 变量,算出来的,一个数量群的抽象集合,x,r1,weight;将字面量赋值给变量 |
![]() |
|
数据类型有数字与字母两大类构成。数字有整数、小数;字母有字符(加单引号表示唯一的字母或汉字字母)与字符串(双引号,里面有零个及以上个字母构成); 真假值(也叫布尔值):只有两个元素true和false |
|
字符串长度可以为零”“,也可以长度为1,”s“ |
| 变量=为了获取一个具体的数据,变量要有一个名字,通过变量名可以取到数据;变量就是数据的中转站,用来拿数据来用的 |
![]() |
| 变量类型 变量名=变量值 数据类型 变量名=数据 |
| int整数 String字符串 |
![]() |
| 变量名一般由数字、字母、汉字、下划线、美元符号构成;首字母不能是数字;关键字就是命令符,所以一般专用命令符不要独立用,但可以改变大小写来规避,或加点其他字母来弄乱不再是命令符 |
| 第一个可以,有没有空格不是问题;第二个可以;第三个首字母是数字不行;第四个变量是关键字是命令符不行会误认;第五个可以不是独立的关键字就行 |
![]() |
|
布尔boolean;字符(char-ity),单独一个用单引号标注;字符串String 小数主要使用double |
![]() |
|
\有特殊含义会和后面的字符组成一个字符; \n意思是回车换行,算是一个特殊字符,当成长度为一的字符来处理;字符串长度为1 \\才是一个斜线的正确表示,就是输入两个\\,才能得到一个\;字符串长度为1 |
| 变量;数据类型 便令名称=数据 |
| 005注释 |
|
注释,添加//之后的部分就是注释,编译器不运行,只作为解释说明使用
|
| 当然,可以在某行代码前加//,使之变成注释不再被运行,成为摆设 |
| 注释可以在前面行,可以在下面行,也可以放在本行后面 |
| 不加注释,后面容易看不懂自己写的是神魔东西,没人能理解 |
| 适当加,只对不懂的或重要部分注释 |
![]() |
| 单行注释// 多行注释/* */ 自动多行注释/**然后回车 |
| 006变量 |
![]() |
|
java中必须先对变量进行定义才能够使用;定义后需要进行赋值;
|
|
之后用变量不再加上数据类型,直接使用变量名就可;否则再加数据类型被误会为重复定义原变量,引发冲突; 引用已经定义的变量,要么为了使用变量的数值,要么重新对变量赋值; |
![]() |
| String s2=“abd” 后面不能再出现变量定义s2 |
![]() |
![]() |
| 专业程序员职业素养:变量尽量使用英文单词有意义,变量首字母最好小写开头之后的单词开头大写以示区分,如ageOfMySon |
| 007基础运算符 |
| 先乘除。后加减,小括号里最优先 |
| 除法方面是取整函数;整数与整数运算结果是整数;1/3=0; 4/3=1 |
![]() |
|
1/3=0 可以将1.0/3=0.333...增加一个小数结果就是小数了 |
|
两个字符串相加可以连成一个字符串 |
![]() |
|
可以用加号把别的数据类型和字符串相连 |
![]() |
|
小括号改变运算优先级,先算小括号里面的 |
|
从左到右,但必须先算小括号里面的 |
| 008赋值运算符 |
| 把555赋值给AAA |
|
赋值,首先右边先计算出结果,然后把结果给左边变量。
”“+a+b+c通过先加上一个长度为零的字符串的形式,将他们在同一行打印出来
|
![]() |
| 左边要是变量不能是表达式 |
![]() |
![]() |
| 杨中科讨厌这种,认为不如右边直接全写; |
![]() |
| a++=a+1;++a=a+1;a--=a-1;--a=a-1;意思是专门自增1或自减1 |
![]() |
| 009关系运算符的结果就是对或错 |
![]() |
| =是赋值符;等于号是==;不等于号由于及那盘没有就用相似的组合!=表示。 |
|
一般是字符串用变量来比较w.equals.(s) |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
| 010选择结构 |
![]() |
![]() |
| if()内为true,就执行{}里面的命令 |
| 逻辑上结束一行需要加上;加上;后逻辑结束 |
![]() |
![]() |
|
if(){} 忽略else if(){} else{}
|
| if(){} else if(){} else if(){} else{} |
![]() |
| if后面接分号,表示后面程序都与if无关 |
| if后面内容必须是关系判断问题 |
![]() |
| {}里面可以有任意内容,那麽就可以嵌套一个if |
![]() |
| 嵌套实现小于20与小于30都可以显示 |
![]() |
| 011while循环 |
![]() |
| 不要重复你自己,当代码里有部分需要复制说明代码有问题,需要算法重构 |
| for,while,do while三者都能实现循环,可以互换 |
![]() |
![]() |
![]() |
![]() |
| 012for循环 |
![]() |
![]() |
![]() |
| for循环可以改写为while形式 |
![]() |
| for里面定义的变量属于局部变量,for外面不认;for外面定义的变量是公共变量,for里面也得认;大括号里面定义的变量,大括号里面认,外面的大括号不认里面定义的变量 |
![]() |
![]() |
| 初始条件i=10;;;;循环可以进行下去的条件逻辑,就是每个i都满足的共同属性;i<=10;;;;i=i+2 |
| 013循环结构其他用法 |
![]() |
![]() |
| 一般不会嵌套,常见嵌套一两个,再多看不懂了 |
![]() |
|
循环嵌套用于excel表格,先一行然后检索改行的所有列
break和continue影响最近的循环,不会影响全局。break强制结束所在的for或while(){}循环;cotinue不再执行后面的代码,而是接着进行for循环的下一步 |
![]() |
| i%2==0,i整除2得到余数0,可知i是偶数,下方加continue结束当前循环直接进入下一个循环,全是奇数;加break, |
![]() |
| 013数组 |
![]() |
| 有序的数据,每一项都有下表 |
![]() |
|
优先使用int[] a={} 声明数组的两种方法,一指定初始值,二指定数组长度 int[] a=new int[3]={0,0,0}; String[] b=new String[3]={null,null,null}; |
|
数组长度就是实际个数 |
![]() |
![]() |
|
一共有6个数字,最后一位a[5], 不要出现a[6] |
| 014数组其他应用 |
|
数组的长度得到一个数字,整数,属于实际个数; 魔法数,就是凭空的一个数字,没有逻辑说明这个数字怎么来的
实际上for循环()就是把数组元素挨个提出来去{}里进行操作,算是一种轮转
用一个新变量来遍历原来数组里的元素,int n新变量 :nums遍历这个数组
执行结果跳过zack
直接打印数组得出个非常奇怪地东西,所以不能直接打印数组,只能挨个打印其中的元素。数组本身不参与操作,只有数组里面的元素才能操作。 变量可以操作。 |
![]() |
|
Arrays.toString(数组名),,,,把数组转换为可读性强的字符串 String s=Arrays.toString(数组名)=[1,2,3,4,69,55]; sout(s); |
| 015数组案例 |
![]() |
![]() |
| 倒序输出,就是把数组元素下标倒着来,从最大值一步步自减到最小值 |
![]() |
![]() |
| 操作是对元素、变量的操作,不能直接对数组进行操作。 |
![]() |
| 可以对数组的初始长度进行优化,不再直接给个固定数 |
![]() |
| 使用for循环依次转一遍元素,然后定义一个变量,如果元素》变量,变量就取这个元素的值; |
![]() |
| 016方法 |
![]() |
|
数据:变量、数组; 逻辑:if,for; 命令:sout,比较
方法就是函数,就是命令 |
![]() |
|
方法名f(),参数x,返回值y,未必会有返回值 viod空白;表明无返回值 |
|
公开静态String(返回值类型为字符串)(int表明参数是整数类型)
所以返回值变量为String类型 不要返回值,只输入命令,不给变量接收也可以。 |
![]() |
| 方法可能会根据上传的参数自己选择相匹配的函数 |
![]() |
|
|
| 按着ctrl点击方法就能找到详细内容 |










































































































浙公网安备 33010602011771号