Java基本语法

 Java对大小写敏感,如果出现了大小写拼写错误,程序无法运行

 关键字class 表明Java 程序中的全部内容都包含在类中,Java是一种面向对象的语言。

 main方法是Java应用程序的入口方法,它有固定的书写格式:

         public static void main(String[] args ) {…}

 在Java中,用花括号划分程序的各个部分,任何方法的代码都必须以“{”开始,以“}”结束, 由 于编译器忽略空格,所以花括号风格不受限制。

 编程风格

        注意缩进! 

                一定要有缩进。缩进就像人得体的衣着一样!

         成对编程!

                 括号、引号都应该写完后,再往里加内容。

          见名知意!

                 最基本的要求!

注释 

        作用 

                注释就是程序员为读者作的说明,是提高程序可读性的一种手段 

        类型

               // 单行注释 注释内容从//到本行结尾 

                /* */ 多行注释 /* */ 注释不能嵌套

                 /** */文档注释 可以通过JDK提供的Javadoc命令,生成程序的API文档

         注意 

                注释不会出现在字节码文件中。 

                 即Java编译器编译时会 跳过注释语句。

标识符Identifier
  作用
         常量、变量、方法、类和包等的名称
  命名规则
         必须以字母、 _ 下划线、美元符 $ 开头。
         其它部分可以是字母、下划线“ _” 、美元符“ $” 和数字的任意组合
         大小写敏感,长度无限制。
         不可以是 Java 的关键字。
  注意
         Java 不采用通常语言使用的 ASCII 字符集
         Java 采用 unicode 这样的标准的国际字符集。因此,这里的字母的含义: 英文、汉字等等。
( 不建议大家使用汉字来定义标识符! )

 

 

关键字/保留字
         Java 关键字是 Java 语言保留供内部使用的 , class 用于定义类。 关键字也可以称为保留字 ,
它们的意思是一样的。
字符集简介
  ASCII
         英文字符集 1 个字节
  ISO8859-1
         西欧字符集 1 个字节
  BIG5
         台湾的大五码,表示繁体汉字 2 个字节
  GB2312
         大陆使用最早、最广的简体中文字符集 2 个字节
  GBK
         GB2312 的扩展,可以表示繁体中文 2 个字节
  GB18030
         最新 GBK 的扩展,可以表示汉字、维吾尔文、藏文等中华民族字符 2 个字节
Unicode
         国际通用字符集 2 个字节
Java基本数据类型
  Java 是一种强类型语言
         常量是有数据类型的
         变量都必须声明其数据类型

 

常量和变量
  常量变量定义
         在程序中存在大量的数据来代表程序的状态,其中有些数据在程序的运行过程中值会发生改
变, 有些数据在程序运行过程中值不能发生改变,这些数据在程序中分别被叫做变量和常量。
  变量举例:
         在 2D 游戏程序中,需要代表人物的位置,则需要 2 个变量,一个是 x 坐标,一个是 y 坐标,在
程序 运行过程中,这两个变量的值会发生改变
  常量举例
         代表常数,便于程序的修改(例如:圆周率的值)
         增强程序的可读性(例如:常量 UP DOWN LEFT RIGHT 分辨代表上下左右,其数值分
别是 1 、 2、 3 4
  在实际的程序中,可以根据数据在程序运行中是否发生改变,来选择应该是使用变量代 表还是常
量代表。

Java 是一种强类型语言,每个变量都必须声明其类型。
Java 变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域。
  变量在使用前必须对其声明 , 只有在变量声明以后,才能为其分配相应长度的存储单元,
声明格式为:
         type varName [=value] [{,varName[=value]}]
  注意事项:
         每个变量都有类型,类型可以是基本类型,也可以是引用类型。
         变量名必须是合法的标识符。
  电脑使用内存来记忆计算时所使用的数据。人类采用旅馆来存储外出住宿的人们。
  内存中变量好比旅馆的房间,内存中常量好比住旅馆房间的人
 int age = 20
  age = 21
  String name = “ 小明”;

变量声明

        

变量声明举例:
         double salary
         boolean done
         long earthPopulation
         int age
  可以在一行中声明多个变量:
         int i ,j; // both are integers
  不提倡这种风格,逐一声明每一个变量可以提高程序可读性。
  可以将变量的声明和初始化放在同一行中,例如:
         int age = 18;
         float e = 2.718281828f;

变量的分类

        按声明位置划分

                局部变量:在方法或者语句块内部定义的变量
                成员变量:在方法的外部,类的内部定义的变量
所属数据类型划分

        基本数据类型变量
        引用数据类型变量

 

六种数字基本类型变量的最大值和最小值     

 

  整型数据类型   

        整型常量
                十进制整数,如:99, -500, 0
                八进制整数,要求以 0 开头,如: 015
                十六进制数,要求 0x 0X 开头,如: 0x15
整型常量默认为int型,声明 long 型常量可以后加‘ l ’ 或‘ L ‘( 建议使用大写,小写容易误 认为数字
1),如:
        long a = 55555555; // 不出错,在 Int 表示的范围内 (21 亿内 )
        long b = 55555555555;// 不加 l 出错,已经超过 int 表示的范围。
java中整形变量范围

 浮点型数据类型

浮点类型常量
         十进制数形式,例如 :
                3.14 314.0 0.314
         科学记数法形式,如
                 314e2 314E2 314E-2
                 double f = 314e2; //314*10^2-->31400.0
                double f2 = 314e-2; //314*10^(-2)-->3.14
        浮点型变量
                 float类型:单精度类型,尾数可以精确到 7 位有效数字,在很多情况下, float 类型的精
度很难满足需求。
                 double类型:双精度类型 精度是 float 类型的两倍,绝大部分应用程序都采用 double
型。
        注意
                 浮点常量默认为double 。要变为 float ,需在后面增加 F/f. 如: 3.14F
                 浮点数存在舍入误差,很多数字不能精确表示。如果需要进行不产生舍入误差的精确数
字计算,需要使用 BigDecimal类
字符数据类型
        单引号用来表示字符常量。例如‘A’ 是一个字符,它与“ A” 是不同的,“ A” 表示含有一个字符的字符串。
  char 类型用来表示在 Unicode 编码表中的字符。
  Unicode 编码被设计用来处理各种语言的所有文字,它占 2 个字节,可允许有 65536 个字符; ASCII
码占 1 个字节,可允许有128 个字符(最高位是 0 ),是 Unicode 编码表中前 128 个字符。
Java 语言中还允许使用转义字符 ‘ \’ 来将其后的字符转变为其它的含义,
        char c2 = '\n'; //代表换行符
char 类型在内存中存储的是该字符的 Unicode 编码值,所以 char 类型可以当做 int 类型来处理

 \\                                                                                      \u005c

布尔数据类型(一位,不是一个字节)
         boolean 类型有两个值, true  和  false
         oolean 类型用来判断逻辑条件,一般用于程序流程控制
final 常量
        使用final 修饰的变量,只能被初始化一次,变成了常量。
        final常量是有名称的

命名规则(规范)

  所有变量、方法、类名:见名知意
  变量、方法名:
         首字母小写和驼峰原则
         run(), runRun(), age ageNew monthSalary
  常量:
         大写字母和下划线: MAX_VALUE
  类名:
         首字母大写和驼峰原则 : Man, GoodMan

 

运算符
Java 语言支持如下运算符:
         算术运算符 : + - * / % ++ --
         赋值运算符 =
         扩展赋值运算符 :+= -= *= /=
        关系运算符: > < >= <= == !=
         逻辑运算符 : && || !
         位运算符 : & | ^ ~ >> << >>> ( 了解!!! )
         条件运算符 ?:
相关概念辨析
         + 运算符 操作符 Operator
         5+6 表达式 expression
         5 6 操作数 Operand
         int m =5+6; 语句 Sentence
算术运算符
         1:         /               除 6/4=1 6/4.0=1.5
         2:           %            取模( 求余 ) 6%4=2
         3:        +             6+‘a’=103 6+“a“=6ª
         4 :         ++           a=2;b=++a+9; a=2;b=a+++9;
         + :         字符串相加,只要有一个操作数是字符串,自动变为字符串相连

二元运算符类型提升:
  整数运算:
         如果两个操作数有一个为 Long, 则结果也为 long
         没有 long 时,结果为 int 。即使操作数全为 shot,byte ,结果也是 int.
  浮点运算:
         如果两个操作数有一个为 double, 则结果为 double.
         只有两个操作数都是 float, 则结果才为 float.
  一元运算符 (++, --)
         int a = 3;
         int b = a++; // 执行完后 ,b=3 。先给 b 赋值,再自增。
         int c = ++a; // 执行完后 ,c=5 。先自增 , 再给 b 赋值

 

赋值运算符
基本赋值运算符
扩展赋值运算符
算术运算符和赋值运算符结合

 

关系运算符
  关系运算符用来进行比较运算
  关系运算的结果是布尔值: true/false
  注意
         区分 == =
         不等于是! = 不是 <>

 

逻辑运算符
逻辑运算符与布尔操作数一起使用,组成逻辑表达式
逻辑表达式的结果是布尔值
& && 的区别
        “&”: 无论任何情况,“ &” 两边的表达式都 会参与计算。
        “&&”: 当“ &&” 的左边为 false ,则将不会计 算其右边的表达式。即左false false
  “|” 和“ ||” 的区别与“ &” 和“ &&” 的区别类似。

位运算符(了解)
      位运算符是对操作数以二进制比特位为单位进行操作和运算,操作数和结果都是整型数。
      如果操作的对象是char byte short ,位移动作发生前其值会自动晋升为 int ,运算结果也为int

 

 

条件运算符
  语法格式
         x ? y : z
         唯一的三目运算符
  执行过程
         其中 x boolean 类型表达式,先计算 x 的值,若为 true ,则整个三目运算的结果为表达式
y 的 值,否则整个运算结果为表达式 z 的值。
  经常用来代替简单的 if-else 判断!

运算符的优先级 

 基本数据类型之间的转换

在赋值运算或算术运算时,要求数据类型相同,否则要进行类型转换
转换方式:
        自动转换
        强制转换
boolean 类型外,所有的基本数据类型因为各自的精度不同,赋值时都要考虑这个问题
boolean 类型外,所有的基本数据类型包括:整型,浮点型,字符型。
基本数据类型之间的转换
  算术运算时的转换
         整型 , 浮点型 , 字符型数据可以混合运算。
         运算中相邻两个操作数先转化为同一类型,转换从低级到高级,然后进行运算;运算的结果
再下一个操作数据进行运算,规则相同
  3+'A'+45L
  5+3.6+ 'A'+3.14f
赋值运算时的转换
        自动类型转换(左> 右)
类型转换的方向
  ------------------------------------------------------>
  byte —> short,char—>int —>long—>float —>double

 

         强制类型转换(左< 右)
         强转时,当心丢失数据或失真
         当将一种类型强制转换成另一种类型,而又超出了目标类型的表示范围,就会被截断成为一
个 完全不同的值。
总结
        =右侧:所有变量先转换为字节数最多的数据类型,再计算
        =两侧:左侧宽度 > 右侧宽度 自动转换
        左侧宽度< 右侧宽度 强制转换
  特例
         可以将整型常量直接赋值给 byte, short, char 等类型变量,而不需要进行强制类型转换,只要
不超 出其表数范围
  short b = 12;    //合法
  short b = 1234567;    // 非法
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值