Java基础视频教程-基础语法1

2-1 Java语言基础组成

2-1-1 关键字
关键字的定义和特点:
定义:被Java语言赋予了特殊含义的单词。
特点:关键字中所有字母都为小写。

注意:
1、所有的关键字都不需要记忆,在后期的学习中慢慢就掌握了。
2、EditPlus默认会创建一个bak备份文件,如果不想创建备份文件,只需要通过如下操作:
点击Tools-->Preferences-->File-->勾掉Create backup file when saving。

2-1-2 标示符
在程序中自定义的一些名称。
由26个英文字母大小写,数字:0-9,符号:_ $ 组成。

定义合法标识符规则:
1、数字不可以开头。   容易引起Java语言的误解
2、不可以使用关键字。

注意:
1、Java中严格区分大小写。
2、在起名字的时,为了提高阅读性,要尽量有意义。
3、公司中经常会通过“_”代表某一类名称,例如:_temp。
通过“$”代表外部类与内部类的关系(后面会讲到),例如:TrafficLamp$Red。
Class Demo Test 不可以因为空格也是一个符号,而名字里不允许别的符号
公司规定 Demo_1$Test _开头可以 或。。。$....


Java中的名称规范:
包名:多单词组成时所有字母都小写。
xxxyyyzzz
类名接口名:多单词组成时,所有单词的首字母大写。
XxxYyyZzz
变量名和函数名:多单词组成时,第一个单词首字母小写,第二个单词开始每个单词首字母大写。
xxxYyyZzz
常量名:所有字母都大写。多单词时每个单词用下划线连接。
XXX_YYY_ZZZ

2-1-3 注释
用于注解说明解释程序的文字就是注释。
提高了代码的阅读性。

Java中的注释格式:
单行注释
格式: //注释文字
多行注释
格式: /* 注释文字 */
文档注释
格式:/** 注释文字 */
Java特有,就是javadoc 工具,提取基本文档注释
例如:

/**
这是我的Hello World程序。
*/
class Demo
{
     /*
     这是主函数,是程序的入口
     它的出现可以保证程序的独立运行,
     */
     public static void main(String[] args)
     {
          //这是输出语句用于将括号内的数据打印到控制台。
          System.out.println("Hello World");
     }
}
注意:
1、对于单行和多行注释,被注释的文字,不会被JVM(java虚拟机)解释执行。
2、对于文档注释,是java特有的注释,其中注释内容可以被JDK提供的工具 javadoc 所解析,生成一套以网页文件形式体现的该程序的说明文档。
3、注释是一个程序员必须要具有的良好编程习惯。初学者编写程序可以养成习惯:先写注释再写代码。
4、将自己的思想通过注释先整理出来,在用代码去体现。因为代码仅仅是思想的一种体现形式而已。
5、单行注释可以嵌套单行注释,单行注释可以嵌套多行注释,多行注释可以嵌套单行注释。
但是,多行注释不能嵌套多行注释,因为多行注释的开头会和被嵌套的多行注释的结尾配对,导致后面的注释失效。
6、可以使用注释对代码中的错误进行定位。

文档注释给谁看的? 给开发人员看的 还有最终用户的一套说明书
单行注释可以嵌套单行注释
单行注释可以嵌套多行注释
多行注释可以嵌套单行注释
多行注释不可以嵌套多行注释

有注释和没注释的java文件生成的class文件都是一样大的,说明编译时没有将注释内容放到字节码文件中

2-1-4 常量
常量表示不能改变的数值。

什么时候需要定义一个变量?
当要参与运算的数据部确定的时候,用定义的变量的形式来表示该数据

Java中常量的分类:
1、整数常量,所有整数。
2、小数常量,所有小数。
3、布尔(boolean)型常量,只有两个数值。true、false。
4、字符常量,将一个数字字母或者符号用单引号( ' ' )标识。
5、字符串常量,将一个或者多个字符用双引号("")标识。
6、null常量,只有一个数值就是:null。

进制的由来:
任何数据在计算机中都是以二进制的形式存在的。二进制早期由电信号开关演变而来。
一个整数在内存中一样也是二进制的,但是使用一大串的1或者0组成的数值进行使用很麻烦。
所以就想把一大串缩短点,将二进制中的三位用一位表示。这三位可以取到的最大值就是7,超过7就进位了,这就是八进制。
但是对于过长的二进制变成八进制还是较长,所以出现的用4个二进制位表示一位的情况,四个二进制位最大是15,这就是十六进制。
规律:进制越大,表现形式越短。

对于整数,有四种表现形式:
二进制:0,1,满2进1。
八进制:0-7,满8进1,用0开头表示。
十进制:0-9,满10进1。
十六进制:0-9,A-F,满16进1,用0x开头表示。

注意:
1byte = 8bit
1k = 1024byte

进制的基本转换
①十进制 二进制 互转

十进制转成二进制 除以2取余数
例如:

二进制转成十进制 乘以2的幂数
例如:
1011 = 1*2(0)+1*2(1)+0*(2)+1*2(3)= 1 + 2 + 0 + 8 = 11
:括号中的数值代表次方。

②十进制 八进制 互转
例如:

十进制 43
二进制 0101011
三位分割 010-101-110
八进制 2 5 6
因此,0101011 = 0256
结论:
八进制,其实就是二进制位,3个二进制位,1个八进制位。

③十进制 十六进制 互转
十进制 43
二进制 0101011
四位分割 1010-1110
十六进制 10(A) 14(E)
因此,0101011 = 0AE
结论
十六进制,其实就是二进制位,4个二进制位,1个十六进制位。

负数的二进制表现形式:
对应的正数二进制取反加1。

求-6的二进制表现形式:对应的正数6二进制取反加1。
0000-0110
取反 1111-1001
加1+0000-0001
-----------------
1111-1010
注意:
负数的二进制最高位永远是1。

2-1-5 变量
变量的概念:
内存中的一个存储区域,该区域有自己的名称(变量名)和类型(数据类型),该区域的数据可以在同一类型范围内不断变化。
用来不断的存放同一类型的常量,并可以重复使用。

定义变量的格式:
数据类型 变量名 = 初始化值;
例如:byte b = 3;

注意:
1、格式是固定的,记住格式,以不变应万变。
2、变量的作用范围(一对{}之间有效)。

理解:
变量就如同数学中的未知数。

Java语言是强类型语言,对于每一种数据都定义了明确的具体数据类型,在内存总分配了不同大小的内存空间。
数据类型包括8种基本类型,3种引用类型。


注意:
整数默认类型:int类型,小数默认类型:double类型。

说明:Java程序中,整数默认:int 小数默认:double
类型的自动提升:
在运算中,当低类型数据与高类型数据进行计算时,系统会自动将表达式中的低类型数据提升到高类型。如:
byte b = 3 ; int c;
c= b + 2; //b会自动提升为int类型进行运算。
强制类型转换:
当程序中,数据类型需要变换时,可以进行强制转换。如:
byte b = 3;
b = b + 4;//报错
b = (byte)b+4;//强制类型转换,强制将b+4的结果转换为byte类型,再赋值给b。

Byte一两的碗 short二两的碗 int 4两的碗 long 8两的碗
Char 0~65535 char类型2个字节
损失精度 long l = 123242424242234,不通过,需要在最好在最后加上l ,表示长整型
Float f = 2.3f ,必须得有f,因为2.3为双精度数,不能放到单精度去
变量得有初始化值和运行区间

2-1-6 运算符

1、算术运算符


注:进行取模运算时,如果有负数,运算结果取决于运算左边有没有负数。
字符串数据和任何数据使用 +都是相连接,最终都会变成字符串。
2、赋值运算符
符号:= += -= *= /= %=
例: int a,b,c; a=b=c =3;
int a = 3; a+=5;//等同运算a=a+5;
3、比较运算符


注:1、比较运算符的结果都是boolean型,也就是要么是true,要么是false。2、比较运算符“==”不能误写成“=”。
4、逻辑运算符
逻辑运算符用于连接boolean类型的表达式。


&符号的运算特点:
true & true = true;
true & false = false;
false & true = false;
false & false = false;

&符号运算规律:
&运算的两边只要有一个是false,结果肯定是false。
只有两边都为true,结果才是true。

| 符号的运算特点:
true | true = true;
true | false = true;
false | true = true;
false | false = false;

| 符号运算规律:
|运算的两边只要有一个是true,结果肯定是true。
只有两边都为false,结果是false。

^符号的运算特点:
true ^ true = false;
true ^ false = true;
false ^ true = true;
false ^ false = false;

^符号运算规律:
^符号的两边结果如果相同,结果是false。
两边的结果不同,结果是true。

注意:
&&:和&运算的结果是一样的,但是运算过程有点小区别。
&:无论左边的运算结果是什么,右边都参与运算。
&&:当左边为false时,右边不参加运算,这样可以提升效率。

||:和|运算的结果是一样的,但是运算过程有点小区别。
|:无论左边的运算结果是什么,右边都参与运算。
||:当左边为true时,右边不参加运算,这样可以提升效率。

使用&&和||比使用&和|更高效一些。

注意:
逻辑运算符用于连接布尔型表达式,在Java中不可以写成3<x<6,应该写成x>3 & x<6 。

位运算符
左移:<<;空位补0,被移除的高位丢弃,空缺位补0。
右移:>>;被移位的二进制最高位是0,右移后,空缺位补0;最高位是1,空缺位补1。
无符号右移:>>>;被移位二进制最高位无论是0或者是1,空缺位都用0补。
与: &;二进制位进行&运算,只有1&1时结果是1,否则是0。
或:|;二进制位进行 |运算,只有0 | 0时结果是0,否则是1。
异或: ^;任何相同二进制位进行 ^运算,结果是0;1^1=0 , 0^0=0。
不相同二进制位 ^运算结果是1。1^0=1 , 0^1=1。
反码:~;对二进制进行取反。

三元运算符
格式:
(条件表达式)?表达式1:表达式2;
a)如果条件为true,运算后的结果是表达式1;
b)如果条件为false,运算后的结果是表达式2;
示例:
获取两个数中大数。
int x=3,y=4,z;
z = (x>y)?x:y;//z变量存储的就是两个数的大数。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值