第一阶段 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点击方法就能找到详细内容
posted @ 2024-11-21 21:18  ibddindonon  阅读(26)  评论(0)    收藏  举报