Java基础语法

——————————————————————————————————————————————————

1. 注释

  • 注释:解释说明代码功能。

    单行注释,多行注释,文档注释(不影响程序执行),IDEA项目里面的out文件里的class文件直接双击就可以反编译可以看到去掉注释的源码
/**
* 文本注释
*/ /*
多行注释
*/ // 单行注释

2.字面量

  • 字面量

    | 整数 | 生活中程序中书写一致

    | 小数 | 生活中程序中书写一致

    | 字符 | 用单引号,仅有一个字符

    | 字符串 | 用双引号,内容可有可无

    | 布尔值 | true,false 只有两个

    | 空值 | null

    |特殊字面量 | 例如:\t、\n

  • 数据类型:

    基本数据类型:四大类八种

    整型(byte,short,int,long)->1,2,4(十进制10位,),8(十进制19位)

    浮点型(float,double),-> 4(十进制38位),8(十进制308位)

    字符型(char),->2

    布尔型(boolean)->1

    引用数据类型(字符串、枚举类型)

3.变量

  • 变量详解:

    变量是内存中的一块区域,理解成一个盒子,装程序要处理的数据的。

    数据类型 变量名称 = 数据;

    数据形式,变量名首字母小写,=是赋值

  • 十进制 -> 二进制 (除二取余法)

    TB GB MB KB B b

    文本:字符在计算机中,是对应的ASII码数值

    0:48、 A:65、 a:97

    图片数据存储:是无数像素点组成0~255x255x255

    声音存储:对应的是波形图,存储波的值

    二进制 -> 十进制 (各个位数乘二)

4.关键字、标识符

  • 关键字:一些特殊字符,Java开发工具会提示,如public,static,class……

    标识符:数字不能开头,可以用数字,字母,下划线,$符。

    变量名:建议首字母小写 studyNumber……

    类名:首字母大写 Student,HelloWorld……

5.方法

  • 方法:就是功能,Java开发的软件中功能最小的单位是一个个的方法。

  • 如何定义满足需求的方法,学会调用?

修饰符   返回值类型   方法名称 (形参列表){
方法体代码
return 返回值;
}
  • 调用方法:方法名称(数据)

    方法名要首字母小写,驼峰模式,getCode

  • 方法是否需要接受数据,方法是否返回数据?

    无返回值的方法中可以直接通过单独的return;立即结束当前方法执行。

    做任何功能都可以定义方法。

  • 方法可以重载:

    一个类中出现多个方法的名称相同,但是它们的形参列表是不同的,那么这些方法就成为方法重载了

    类型不同,个数不同,顺序不同

6.类型转换

  • 自动类型转换,类型范围小的变量,可以直接赋值给类型范围大的变量(byte -> int)
  • 强制类型转换,类型范围大的变量,不可用直接赋值给类型范围小的变量,会报错,需要强制类型转换过去(int -> byte)

    直接把小范围赋给大范围类型, 会报错

    所以需要强制类型转换
int i = 20;
// 强制类型转换:类型 变量2 = (类型)变量1;
byte j = (byte)i;
  • 表达式的自动类型提升:

    表达式中,小范围类型的变量,会自动转换成表达式中较大范围的类型,再参与运算;

    表达式最终结果类型由表达式中的最高类型决定;

    表达式中,byte,short,char运算时是直接转换成int类型参与运算;

7.输入输出

  • 输出,把程序中的数据展示出来

  • 输入,程序读取用户键盘输入的数据(通过Java提供的Scanner程序来实现)

    Scanner是Java提供好的API,程序员可以直接使用

  • 输入:

    1.导包(可以自动)

    2.抄代码,代表得到键盘扫描器对象

    Scanner sc = new Scanner(System.in);

    3.抄代码,等待接受用户输入数据

    String name = sc.next();

    int age = sc.nextInt();

8.运算符

  • 算术运算符:+-*/%

    +与字符串运算的时候用作连接符

    "abc" + 5 --> "abc5"

    能算则算,不能算就连在一起

    两个整数作除法,其结果一定是整数,因为最高类型是整数

  • 自增自减运算符:++ --

  • 赋值运算符:=

  • 扩展赋值运算符:+= -= *= /= %=

    隐含了强制类型转换:a+=b

    a+=b ==> a = (a的类型)(a+b) 用来收红包

  • 关系运算符:> >= < <= == !=

    成立返回true,不成立返回false

  • 三元运算符:

    条件表达式?值1 :值2

  • 逻辑运算符:

    & 逻辑与:多个条件必须都是true结果才是true

    | 逻辑或:过个条件中只要一个true结果是true

    ! 逻辑非:就是取反

    ^ 逻辑异或:前后相同则是false,相反是ture

    && 短路与:左边为false,右边不执行 ->false(短路特性)

    || 短路或:左边为true,右边不执行-> true(短路特性)

9.其他

  • 8421码(BCD码):是一种将十进制数字编码为四位二进制数的方法

    二进制以0B或者0b开头,八进制以0开头,十六进制以0x开头

  • API(application Programming Interface):应用程序编程接口

    Java为自己写好的程序提供了相应的程序使用说明书(API文档)

  • 设置自动导包:file -> settings -> editor -> general ->auto improt ->

    add unambiguous imports on the fly

    optimize improts on the fly

    两个勾上,然后点击apply

Java02-基础语法的更多相关文章

  1. Swift与C#的基础语法比较

    背景: 这两天不小心看了一下Swift的基础语法,感觉既然看了,还是写一下笔记,留个痕迹~ 总体而言,感觉Swift是一种前后端多种语言混合的产物~~~ 做为一名.NET阵营人士,少少多多总喜欢通过对 ...

  2. iOS-----正则表达式的基础语法

    正则表达式简单语法总结 一.什么是正则表达式 从概念上来说,正则表达式也是一门小巧而精炼的语言,它可以用来简化检索特定的字符串,替换特定字符等功能,有许多开发语言工具,都内嵌支持正则表达式.那么一个正 ...

  3. python之最强王者(2)——python基础语法

    背景介绍:由于本人一直做java开发,也是从txt开始写hello,world,使用javac命令编译,一直到使用myeclipse,其中的道理和辛酸都懂(请容许我擦干眼角的泪水),所以对于pytho ...

  4. emmet 系列(1)基础语法

    emmet 系列(1)基础语法 emmet 是一个能显著提升开发html和css开发效率的web开发者工具 emmet基本上目前已知的编辑器都有相应的插件,各个编辑器的emmet插件的下载地址:点我下 ...

  5. Scala基础语法 (一)

    如果你之前是一名 Java 程序员,并了解 Java 语言的基础知识,那么你能很快学会 Scala 的基础语法. Scala 与 Java 的最大区别是:Scala 语句末尾的分号 ; 是可选的. 我 ...

  6. Java基础语法

    java基础学习总结——基础语法1 一.标识符

  7. javascript中正则表达式的基础语法

    × 目录 [1]定义 [2]特点 [3]元字符[4]转义字符[5]字符组[6]量词[7]括号[8]选择[9]断言[10]模式[11]优先级[12]局限性 前面的话 正则表达式在人们的印象中可能是一堆无 ...

  8. Swift基础语法学习总结(转)

    Swift基础语法学习总结 1.基础  1.1) swift还是使用// 和/* */ 来注释,并且/* */允许多行注释. 1.2) swift使用print和println打印,它的传参是一个泛型 ...

  9. 黑马程序员——OC语言基础语法 面向对象的思想

    Java培训.Android培训.iOS培训..Net培训.期待与您交流! (以下内容是对黑马苹果入学视频的个人知识点总结)(一)基础语法 1)关键字 @interface.@implementati ...

  10. 【OC基础语法考试】

    OC基础语法已经全部学完,但是这些知识只是最基础的,还有很多高级知识,这个可能需要后面慢慢的去学习才能体会到.接下来我会总结前面的OC基础语法,如果大家发现有什么不正确的地方,请指正,小弟是新生,多请 ...

随机推荐

  1. Five minute introduction to ANTLR 3

    What is ANTLR 3? ANTLR - ANother Tool for Language Recognition - is a tool that is used in the const ...

  2. Java Study For Five Day( 面向对象一)

    面向对象 1.面向对象的概念 2.理解面向对象 *面向对象其实是相对面向过程而言的,面向对象和面向过程都是一种思想,它们所强调的内容不一样. *面向对象:强调的是功能的行为,将功能进行了封装成了对象, ...

  3. Python:pygame游戏编程之旅六(游戏中的声音处理)

    一款人性化的游戏中缺少不了声音,比如角色挂时惨叫一声,或PK时武器交锋的声音,还有就是英雄出场时的背景音乐,无不涉及到声音,本节我们就来看一下pygame中如何控制声音,下面是一个例子,但博客上传不了 ...

  4. java swing 学习

    JSplitPane固定分割比例和禁止拖动分割条 有知友问JSplitPane的问题,在写代码的时候不想让分割条拖动,结果找不到方法,百度了 居然也找不到... 后来在一个犄角旮旯里发现了 ,,  就 ...

  5. Codeforces Round 901 (Div

    C. Jellyfish and Green Apple 题解 显然\(n \% m =0\),答案一定为\(0\) 如果\(n > m\),我们显然可以将\(n / m\)的苹果分给每个人,然 ...

  6. 序列化-serialVersionUID作用

    Serializable接口 作用:标记一个类可以被序列化,如果没有实现该接口,则会抛出异常. ObjectOutputStream中源码: 实验: serialVersionUID 作用:表示一个序 ...

  7. 《Kubernetes故障篇:calico/node is not ready: BIRD is not ready》

    文章目录一.背景信息二.解决方法总结:整理不易,如果对你有帮助,可否点赞关注一下? 一.背景信息k8s集群部署后发现calico的pod未通过健康检查,如下所示: 通过命令kubectl descri ...

  8. oracle用命令执行sql脚本文件

    当sql命令过多(sql文件过大)时,用plsql执行时比较慢而且容易超时,此时可以用sqlplus命令直接执行sql脚本文件,方法如下: 1.sqlplus登录 >sqlplus userna ...

  9. Karmada v1.12 版本发布!单集群应用迁移可维护性增强

    本文分享自华为云社区<Karmada v1.12 版本发布!单集群应用迁移可维护性增强>,作者:云容器大未来. Karmada 是开放的多云多集群容器编排引擎,旨在帮助用户在多云环境下部署 ...

  10. Qt音视频开发40-ffmpeg采集桌面并录制

    一.前言 之前用ffmpeg打通了各种视频文件和视频流以及本地摄像头设备的采集,近期有个客户需求要求将整个桌面屏幕采集下来,并可以录制保存成MP4文件,以前也遇到过类似的需求,由于没有搞过,也没有精力 ...