type
status
date
slug
summary
tags
category
icon
password

计算

变量与计算

读输入

  • 引号内容会被直接输出,in.nextLine输出的内容为终端的回复
  • 引号前和括号都可以输出正确结果,加号后面不加括号输出结果为字符串相连
  • "+"可以把字符串都连接起来,还可以把前后非字符串转换成字符串
 

变量

变量的定义
  • 变量的定义的一般形式是<类型名称><变量名称>
变量的名字
  • 变量的名字是一种标识符,用来区别不同的名字
  • 构造规则:
    • 只能由字母,数字和下划线组成,数字不能出现在第一位
    • 不能使用Java关键字(敲入idea显示为紫色)
变量的类型
  • Java是强类型语言,所有变量在使用前必须定义和声明,必须有确定的数据类型
  • 数据类型-在变量中可以存放什么类型的数据
  • 变量中只能存放指定类型的数值,运行过程中不可改变变量类型
实例
  • in.nextLine为输出一行 in.nextInt为输出整数
  • 100-nextInt要加括号,不然显示为字符串相连
  • 可以定义一个变量,再将该变量赋值为输入内容
  • 与客户端互动
 

赋值

  • 每个变量都需要单独赋值
  • 变量赋值后才可以使用,可以赋值为输入值或者初始值等
  • final 表示为常量,不可再更改
  • print表示为输入不换行 println表示为输入换行
 

浮点数计算

浮点数

  • 带小数点的数和没有小数点在计算机里是不同
  • 整数除以整数结果只能为整数,比如10/3=3
  • 有一个小数就会使java转化为浮点数,按照浮点式进行运算
  • 小数点需要用double定义
  • 可以输入为整数(int)用浮点数定义
  • 精确算数要使用整数运算
 

运算符优先级

  1. 取正负号
  1. 先乘除后加减
  1. 字符串连接
  1. 赋值

类型转换

  • 结果取整
  • 整数直接除以小数会报错
  • 修改方式
 

判断

比较

比较

  • 可进行判断,输出结果为布尔值(true false)
 

关系运算

关系运算符的优先级比算数运算低,比赋值运算高
  • == 等于 != 不等于
  • >= 大于等于 > 大于
  • <= 小于等于 < 小于
判断是否相等的优先级比其他的低,连续的关系运算从左向右进行
  • 先判断两边结果,均为true,然后比较中间 true==true
  • 从左开始,先比较6>5,结果为true,无法和数字4比较
  • 运算符优先级相等,从左向右,比较a==b的结果,再与true比较
  • 错误 布尔值无法与数字进行比较
  • 布尔值之间无法比较大小,下面同理
  • 整数和整数 整数和浮点数可用运算符进行比较
  • 因为浮点数运算有误差,所以不能用单纯用运算符对浮点数进行比较,要对两个浮点数的差值进行比较
  • 1e-n 10的负n次方
 

判断

做判断

  • if语句—判断条件结果是否正确,如果正确就执行大括号的内容,若是错误便跳过该语句,执行下一个语句
  • 如果该语句只进行一个命令,也可以不打大括号,在命令语句后打分号
  • 不要再if后打分号,分号表示该语句结束 !
 

判断语句

比较数的大小

  • if……else 语句,如果……反之
 

分支

嵌套和级联的判断

  • 嵌套
 

多路分支

switch-case

  • 级联
  • swich……case 根据表达式的要求,寻找匹配的case,并执行该语句,一直到break为止
  • 控制表达式只能是整数型结果
  • 常量可以是常数,也可以是常记算数的表达式
  • 如果所有的case都不匹配,就执行default语句,没有default语句就什么都不做
  • 如过没有break,程序会将switch内目标case后全部输出,直到遇到break或switch结束
  • case(1 || 2)这种表达方式是错误的,只能用case穿透!
 

判断语句常见错误

  • 忘了大括号
  • if后面别跟上分号
  • 判断相等用的是两个等号
  • 在if……else后面加上大括号形成语句块
  • 大括号内的语句缩进一个tab距离
 

作业

  • 输入一个整数,分别取前一位和后一位的方法
 

循环

循环

循环

  • 大括号内放循环的部分
 

数数字

 

while循环

  • while(条件){循环体}
  • 当条件满足时不断做循环体内的语句 条件成立是循环继续的条件
  • 循环体内要有改变条件的机会,如果while(true)则无限循环
 

do while循环

  • 先循环再判断
  • 记得while结尾分号,表示该循环结束
 

循环的例子

计数循环

  • 模拟较少的循环次数来推断很大次数的循环
 

算平均数

  • while循环注意循环体里还要再进行一次读值
  • do……while 循环里要再进行一次判断
 

猜数游戏

  • 让系统自动生成数字可以借用工具
  • 注意do……while循环时count=count+1的位置
 

整数分解

  • 用while循环,输入0,不会输出结果
 

循环控制

FOR循环

for循环

  • for(初始化;维持条件;单步动作) {循环体}
  • for循环像一个计数循环,第二部分是循环条件,与while类似,第三部分是步进,通常用来改变循环变量。
  • 在for循环里定义一个变量,如int i=x;这个变量只在for循环中存在,除了循环便不存在了
  • for中的每一个表达式都是可以省略的,分号不能省,如for(;条件;)
  • 在圆括号后不加分号,与if相似
有固定循环用for,必须先执行一次用do……while,其余情况用while
 

复合赋值

  • a=a+6 — a+=6 符号两边有同个变量 a=b+6不能写成这种形式
  • a*=b+6 — a=a*(b+6)
  • i++等同于i=i+1
  • a=i++(后缀) 得出的结果为a等于i原来的值,i自己加一
a=++i(前缀) 得出的结果为a等于i+1的值,i同样是自己加一
 

循环控制

循环控制

  • 素数只能被1和自己整除,1不算素数
  • 可以用break跳出程序,continue跳这这一轮程序,进行下一轮循环
 

多重循环

 

逻辑类型

关系运算的结果是一个逻辑值,true或false,可以保存在一个逻辑类型变量中,这样的逻辑类型是boolean
notion image
 

循环的例子

求和

  • 在for循环的三个表达式里,可以用逗号隔开,再放入多个表达式
 

求最大公约数

数组

数组

初识数组

 

创建数组

数组特点
  • 其中元素具有相同的数据类型
  • 一旦创建,不能轻易改变大小
数组性质
  • 数组是一种技术结构,能记录同一个类型多个数据
  • 数据中每个数据叫元素
  • 所有元素具有相同的数据类型
定义数组变量
<类型>[]<名字>=new<类型>[元素个数]
  • 元素个数必须是整数
  • 元素个数必须给出(在new的后面)
  • 元素个数可以是变量
  • 元素从0开始计算
 

数组中的元素

  • 每个元素都是那种类型的变量
  • 索引或者下标都是从零开始的
有效的下标
  • 最小的下标是0,最大的下标是数据的元素个数-1
  • 编译器不会检测是否使用了有效下标
  • 运行时出现无效下标导致程序终止
  • 每一个数组有一个内部成员length,可以告诉我们元素的数量
  • 这个for循环具有可扩展性,无论是改了数据,还是变量名称都与它无关
 

数组变量

初始化数组
  • new创建的数组会得到默认的零值
  • int[] scores={87,88,89,90,92}
  • 直接大括号给出数组元素所有的初始值
  • 不需要给出数组的大小,通过length可以直接得知
数组变量
  • 数组的变量是数组管理者,而非数据本身,其本身不是任何数值
  • 数组必须创建后交给数组变量来管理
  • 数组变量之间的赋值是管理权限的赋予
  • 数组变量之间的比较是判断是否管理同一个数组
复制数组
  • 就算数组内数据相同,也不算同一个数组
  • 必须遍历原数组将每一个元素拷贝给目的数组
 

数组计算

投票统计

 

遍历数组

  • 通常使用for循环,让循环变量i从0到小于数组length,最大i正好是循环内最大有效下标
  • 寻找数字的程序
 

for-Each循环

  • for(<类型><变量>:<数组>)数组当中的每一个元素取出来作为那个类型的变量
  • 适合遍历一个数组
  • 不能用for-Each循环修改数组中的数字,但是可以读出数组当中的每一个值
  • 对于Date这个数组当中的某一个元素,循环的每一轮把它拿出来作为一个k(k在第一轮等于Date的0,第二轮等于date的1……)
 

数组的例子:素数(跳转)

  • 跳转(Java 的标签只能定义在三种循环 (for() {}, do{} while(), while() {}) 的开始位置,否则编译器会报告说找不到标签
  • 前五十个素数
  • 前五十个素数 电脑思考方式
 

二维数组

  • 表示三行五列矩阵
  • 二维数组的遍历
  • 二维数组初始化
 

使用对象

字符类型

字符类型

  • Java用Unicode表示字符
  • 汉字也可以做加减,编译出的是Unicode中排在该汉字后面的汉字
  • 字母和数字在Unicode之间按顺序排列
  • 大写字母和小写字母分开排列
  • 大小写转换
  • 字符可以被比较大小,依据是Unicodede编码大小
 

逃逸字符

notion image
 

包裹类型

包裹类型

notion image
notion image
 

MATH类

 

字符串

字符串类型

  • 注意字符串的String的首字母S要大写
  • 当两个字符串名字相同时,也不代表是同一个
  • 包裹类型的第一个字符串也是大写的
  • String是一个类,String的变量是对象的管理者而非所有者,就像数组变量是数组的管理者而非所有者一样,是引用值
notion image
notion image
 

字符串操作

notion image
notion image
notion image
  • s.charAt(index)
    • 返回在index上的单个字符串
    • index的范围是0到length()-1
    • 第一个字符的index是0,和数组一致
  • 不能用for-each循环来遍历字符串
notion image
notion image
notion image
notion image
  • 所有的字符串都是不可变的,对他们的操作结果都是创造新的字符串出来
 

函数(方法)

函数的定义及调用

  • 函数是一块代码,接收零个或多个参数,做一件事情,并返回零个或一个值
  • 可以先想像成数学中的函数

函数的定义

notion image
  • 原程序
  • 调用方法
 

函数的调用

  • 需要有圆括号表明在调用一个参数
notion image
notion image
notion image
notion image
  • 没有返回值的函数
    • void函数名
    • 不能使用带值的return,可以没有return
    • 调用的时候不能做返回值的赋值
 

函数参数与函数内的变量

函数的参数—参数传递

notion image
  • java语言在调用函数时,永远只能传值给函数
  • 在调用这一函数时,只能传递值过去,而不是该变量
  • 每个函数有自己的变量空间,参数与其他函数没有关系
    • notion image
 

函数内的变量—本地变量

  • 函数的每一次变量都会进入一个新的空间,在这个空间里参数的值是不同的
  • 变量的生存期和作用域
    • 生存期:什么时候这个变量开始出现了,到什么时候它消亡了
    • 作用域:在什么范围内可以访问这个变量(这个变量可以起作用)
    • 对于本地变量,两个回答是统一的,即大括号内——块
  • 本地变量
    • 函数的每次运行,就产生了一个独立的变量空间,在这个空间中的变量,是函数这次运行所独有的,称作本地变量
    • 定义在函数内部的变量就是本地变量
    • 参数也是本地变量
  • 本地变量的规则
    • 本地变量定义在块内
      • 可以定义在函数块内
      • 定义在语句块内
      • 甚至可以随便拉一个大括号来定义变量
    • 程序运行进入这个块之前,块中的变量不存在,离开这个块,其中的变量就消失了
 

零散知识点

\t 表示tab键按一下
\n 表示回车换行到当前位置的下一行,而不会回到行首;
\r 表示回车到当前行行首而不会换到下一行,如果接着输出的话,本行以前的内容会被逐一覆盖;
%d 输出int型数据,%md 表示输出的int类型数据占m列
%c 输出char型数据
%f 输出浮点型数据,小数部分最多保留6位,%.m.nf 输出的浮点型数据占m列,小数部分保留n位
%s 输出字符串数据
  • 格式控制部分中,可以用想呈现的符号来间隔,如下,
  • 使线程睡眠/停止的时间具体数额的工作,Thread.sleep()方法必须包含在try和catch块内,或者必须使用throws子句指定。目前仅知道在每一个循环里都要用
  • 如果需要查看exe文件,打开CrossOver,选用xp运行,点击需要查看或者下载的文件。
  • 进行字符串比较需要equals,进行char比较用== 单引号表示char,双引号表示String!!!!
  • charAt(0) 获取字符串sc中第0个字符 并把它转成char返回
  • final x final修饰变量表示变量初始化后就不能再改变
  • 改变程序段输出编码颜色
 
数据库Java(黑马程序员)
bhddgt
bhddgt
一个普通的干饭人🍚
公告
type
status
date
slug
summary
tags
category
icon
password
🎉NotionNext 4.0即将到来🎉
-- 感谢您的支持 ---
👏欢迎更新体验👏