今天就是一些概念和基本知识
注释
注释是在程序指定位置添加的说明性信息,简单来说就是对代码的一种解释。
类型
//单行注释
/*注释内容*/多行注释
/** */文档注释
注意事项:不要嵌套
关键字
关键字就是被java赋予了特定涵义的英文单词,就相当于特殊的词
特点
字母全部小写
常用的代码编辑器中,会被用特殊颜色标记
介绍一个基础的,class用于创建或定义一个类
字面量
数据在程序中的书写格式,有整数小数,字符串,字符,布尔,空
特殊字符,\加一些字母,有很多,介绍一个\t制表符,打印时把前面的字符串长度补齐到8,或者是8的整数倍,用于表格中数据对齐。
变量
在程序的执行过程中,其值可能发生变化的量
定义格式:数据类型 变量名 = 数据值
注意事项:
1.只保存一个值
2.变量名不允许重复定义
3.一条语句可以定义多个变量
4.变量在使用之前一定要进行赋值
5.变量有作用域范围
*计算机存储规则
计算机存储的只有三种,文本,图片,声音
文本
文本数据包含数字,字母,汉字
在计算机中任何数据都是通过二进制的方式来存储的
所以我们先来了解进制问题,照猫画虎十进制是是个数满十进一,其他进制也一样,常用的就是二进制,八进制,十进制,十六进制多6个字母用来表示从10开始到15
二进制0b开头,八进制0开头,十六进制0x开头
进制之间相互转化
1.任意进制转化为10进制,公式:系数*基数的全次幂 相加
系数就是位置上的数,基数就是几进制就是几,全次幂就是第几位从右往左从0开始数,算完相加
2.十进制转化为其他进制,除基取余法,就是用十进制的数除你目标进制的数,然后除完继续用商除,直到商为0,然后将余数倒着拼起来就是答案
字母和汉字的计算,都基于ASCII码表
简单来讲就是一个很大很大的表,每一个字和字母在里面都有对应的数字,计算时先转化为对应的数字,然后计算就得到结果。
图片
图片分黑白图,灰度图,彩色图三种
这里要用到的原理就三个,分辨率,像素,三原色
其实就是将每一张图片,用很多很多个小方块组成,分辨路就是多少个*多少个方块,像素就是大小,然后每一个方块用数字来表示特定的颜色。
黑白图,白色是1,黑色是0
灰度图用这些数字
彩色图,三原色,同样的道理,用的是光学三原色红绿蓝每个程度相当于份数0~255,不是美学三原色红黄蓝
每个色块都是不同份数的三种颜色混合,会诞生多种颜色
声音
简单说就是波形图,每个时间节点都用采样点来记录数值,然后还原
数据类型
基本数据类型和引用数据类型
基本数据类型有8种4类
一个字节8比特位
标识符
标识符就是给类,方法,变量等起的名字,刚好的使用
命名规则
硬性要求:
1.有数字,字母,下划线或美元符号、组成
2.不能是数字开头
3.不能是关键字
4.区分大小写
软性建议
小驼峰命名法:方法,变量
规范1:标识符是一个单词的时候,全部小写
规范2:标识符由多个单词组成的时候,第一个单词首字母小写,其他单词首字母大写
大驼峰命名法;类名
规范1:标识符是一个单词的时候,首字母大写
规范2:标识符由多个单词组成的时候,每个单词的首字母大写
键盘录入
就是一个函数,作用是用来录入你敲键盘输入的信息。这个类是Scanner,这是java帮我们写好的类,可以直接用,接受的是数字。
步骤1,首先我们要导入对应的包,我们才能用Scanner这个类
import java.until.Scanner;
写在类定义的上方
步骤2,创建对象来使用Scanner
Scanner sc = new Scanner(System.in);
步骤3,接受数据
int i = sc.nexInt();
IDEA
这是一个非常好用的代码工具,下载安装完之后。需要了解一些结构项目,才能更方便的使用。有项目,模块,包,类四个结构。大小就是我写的顺序从大到小。
你要写一个代码,就要创建一个项目,然后新建一个模块,然后创建包,在包类从创建类,在类里写代码实现。
运算符
运算符;对字面量或者变量进行操作的符号
表达式:用运算符把字面量或者变量连接起来,符合java语法的式子称为表达式
6种运算符
1.算数运算符
+ 相加
(1)数字相加会涉及到类型转换的问题
隐式转换(自动类型提升),将一个取值范围小的数值,转成取值范围大的数据
注意事项
取值范围小的,和取值范围大的进行运算,小的会先提升为大的,再进行运算
byte short char三种类型的数据在运算的时候,都会直接先提升为int,然后再进行运算
强制转换,把一个取值范围大的数值,赋值给取值范围小的变量,不允许直接赋值
目标数据类型 变量名 = (目标数据类型)被强转的数据
(2)字符串相加
+变为连接符,将前后的数据进行拼接,并产生一个新的字符串,从左到右逐个执行
(3)字符相加
字符+字符,字符+数字,先用过ASCII码表产出对应值,计算
- 相减
* 乘
/ 除 整数除结果就是整数,不要小数;有浮点数,结果带小数
% 取余
2.
自增++自减--
后++和前++,单独一行效果一样,但是和别的一块使用时,后++先用后加,前++先加后用
3.赋值运算符
=,+=,-=,*=,/=,%=
4.关系运算符
==,!=,>,<,>=,<=意思就是判断
注意结果都是boolean类型,要么是true,要么是false
5.逻辑运算符
&,并,全真为真
|,或,有真即为真
^异或,相同为假,不同为真
!,不同为真
&&,||和&和|意思一样,不过现在都用这个,原因就是它们有短路效果,原本不管结果为什么,两边的表达式都会去判断,而这两个如果左边判断为可以确定结果就不会去判断右边相当于短路,有利于提高效率
<<,>>左右移动,二进制
6.三元运算符
格式 关系表达式?表达式1:表达式2;
运算符优先级
这里讲一下原理
原码:十进制数据的二进制表现形式,最左边是符号位,0为正,1为负
正数计算没有问题,负数出错相反
反码:
规则:正数的反码不变,负数的反码在原码的基础上,符号位不变,数值取反,0变1,1变0
跨0时的细节问题,这个时候你会发现从-0到+0会浪费一个1,相当于你做运算如果从负数加完后结果为正,就会差1,这个时候就需要补码。
补码:反码加1,正数不变
这里用二进制,你就会发现像类型转换,左右移动,判断就是简单的0和1的移动和运算,后位缺少直接补0,前位缺看情况补0或者补1,会极大帮助你去理解和记忆。