java基础(上)

1.java的语法格式

任何一种语言都有自己的语法规则,java也一样:

  • 代码都定义在类中,类由class来定义,区分public class 和 class;一个java文件最多只有一个public class,可以存在多个class
  • 代码严格区分大小写,如Main和main是不一样的
  • java中的标示符与关键字
  • 注释

2.main方法的作用

  • 程序的入口
  • 被jvm调用
  • 保证程序的独立运行

3.java中的注释

  1. 单行注释 //:
    //后到本行结束的所有字符会被编译器忽略;

  2. 多行注释 /* /:
    /
    */之间的所有字符会被编译器忽略

  3. 文档注释 /** /:
    在/
    * */之间的所有字符会被编译器忽略,java特有的(用于生成文档);
    注意:多行和文档注释都不能嵌套使用

4.java语言的分隔符

  • 分号 ;
    语句的分割,表示一句话结束
  • 花括号{ }
    表示一个代码块,是一个整体,花括号要一起用
  • 方括号[ ]
    定义数组和访问数组元素时使用
  • 圆括号( )
    使用广泛
  • 圆点 .
    类/对象 访问它的成员(字段,方法)时使用
  • 空格
    分割一条语句的不同部分,空格的次数不限制

5.java的标识符

可简单理解为在java程序中为了增强阅读性的自定义的名称。比如:类名,方法名,变量名
命名规则:

  1. 由字母、数字、下划线、$组成,不能以数字开头。此处的字母可以是中文、日文等(不推荐)
  2. 大小写敏感
  3. 不能使用java中的关键字和保留字

为什么要定义变量:

6.java中的关键字

7.java中的常量

常量:程序运行期间中固定不变化的值。
比如:整数1,2,3。小数3.14。false,true等

8.java中的变量

  • 为什么要定义变量:用来不断的存放同一类型的常量,并可以重复使用;可以节省资源;
  • 变量的概念:
    1. 占据着内存的某一个存储区域;
    2. 该区域有自己的名称(变量名)和类型(数据类型);
    3. 该区域的数据可以在同一类型范围内不断变化;
  • 定义变量的格式: 数据类型 变量名 = 初始化值;
  • 使用变量的注意:变量的作用范围,初始值;
  • 作用范围:定义开始到定义它的代码块结束;同一范围内,不允许多个局部变量命名冲突。

9.java成员变量和局部变量

  • 局部变量:不是声明在类体括号里面的变量;
    1. 局部变量使用前必须初始化值
    2. 局部变量没有默认值
    3. 局部变量的作用范围是从定义开始到定义它的代码块结束
  • 成员变量:在方法体外,类体内声明的变量,又称字段或全局变量
    1. 成员变量的作用范围是整个类中;
    2. 成员变量有默认初始值

10.java的数据类型

  1. 基本数据类型:数值型(int byte short long float double)、字符型(char)、布尔型(boolean)

  2. 引用数据类型:类、枚举、注解、接口、数组

  3. java基本数据类型的取值范围

4.布尔类型 boolean
* boolean类型通常用于逻辑运算和程序流程控制
* boolean类型数据只有取值true或者false

boolean flag;
flag = true;		
System.out.println("flag "+flag);
  1. char字符类型
    • char型数据用来表示通常意义上得“字符”
    • char占2个字节,取值范围是[0,65535],但是前256个表示特殊字符
    • 字符常量为用单引号括起来的单个字符,例如:
char c = 'A';
char c2 = '哥';
char c3 = 97;
* java字符采用Unicode编码,可用十六进制编码表示:
char c4 = 'u0067';
* u为转义字符:un换行符、ut制表符、ur回车符、u"双引号、uu反斜杠、u'单引号

6.整数类型(byte、short、int、long)

* java语言整型常量的四种表示形式:
    1. 二进制整数,0b或0B开头,如:int flag = 0b1010;   
    2. 十进制整数,如:int flag = 1;
    3. 八进制整数,要求以0开头;int flag = 011;
    4. 十六进制整数   ,要求以0x或者0X开头;int flag = 0x1240;
* java语言的整型常量默认是int型,声明long变量后加上'l' 或‘L’;如 long flag = 1001L;

7. 浮点类型(float、double)

* java浮点类型常量有两种表示方式:
    1. 十进制形式:例如:3.14,168.0,.618;
    2. 科学计数法形式:例如:3.14e2,3.14E2,1000E-2;
* java浮点型常量默认是double,声明一个常量为float型则需在常量后加上f 如:float p = 3.14f;
* java里只有浮点型的变量才可以接受科学计算式结果   

8. 最常用的引用数据类型(String)

* String是一个类,表示字符串,由多个字符连接在一起。
* 字符串都使用“ ”括起来,连接字符串使用+
String str1 = "string1";
String str2 = "string2";
System.out.println(str1+str2);

9.自动类型转换

* boolean 类型是不可以转换为其他基本数据类型
* 整型,字符型,浮点型的数据在混合运算中相互转换,转换时遵循以下原则:容量小的类型可自动转换为容量大的数据类型;byte,short,char -> int -> long -> float -> double
* byte,short,char之间不会相互转换。他们计算时首先会转化为int类型
int i = 123;
long l = i;	
float f = 3.14F;
double d = f;

10.强制类型转换

* 容量大的数据类型转换为容量小的数据类型时,要加上强制转换符,但可能造成精度的降低或溢出,使用时要格外注意
* 有很多种类型的数据混合运算时,系统首先自动的将所有数据转换成容器最大的哪一种数据类型,再计算。
* 浮点型:默认是double
* 整型:默认是 int 
long l = 123L;
int i = (int) l;
double d = 3.14;
float f = (float) d;

表达式的数据类型自动提升
* 所有的byte型、short型和char的值将被提升到int型。
* 如果一个操作数是long型,计算结果就是long型;
* 如果一个操作数是float型,计算结果就是float型;
* 如果一个操作数是double型,计算结果就是double型。

11.java运算符

运算符是一种符号,用于表达式中,分以下:
* 算术运算符

* 赋值运算符

思考:short s = 3; s = s + 2;与s += 2;有什么不同?

* 比较运算符

* 逻辑运算符


逻辑运算符用于连接布尔型表达式。
“&”和“&&”的区别:单与时,左边无论真假,右边都进行运算;双与时,如果左边为真,右边参与运算,如果左边为假,那么右边不参与运算。
“|”和“||”的区别同理,双或时,左边为真,右边不参与运算。
“ ^ ”与“|”不同之处是:当左右都为true时,"^"结果为false。

* 表达式
    1. 是由数字、运算符、数字分组符号(括号)等以能求得数值的有意义排列的序列
        * a + b
        * 3.14 + a
        * (x + y) * z + 100
        * boolean b= i < 10 && (i%10 != 0)

    2. 表达式的类型和值:
        * 对表达式中操作数进行运算得到的结果是表达式的值。
        * 表达式值的数据类型即为表达式的类型。 
    3. 表达式的运算顺序:
        * 应按照运算符的优先级从高到低的顺序进行;
        * 优先级相同的运算符按照事先约定的结合方向进行;
  * java运算的优先级

  * 三目运算符
    1. “三目运算符”,语法格式:x ? y : z;
    2. 其中x为boolean类型表达式,先计算x的值,若为true,则整个三目运算符的结果是表达式y的值,否则就是z的值。
int score = 70; int x = 6; int y = 5;
String type = score < 60 ? "不及格" : "及格";
int max = x > y ? x : y;
System.out.println("type= " + type);
System.out.println("max= " + max);
  * 位运算符
  按位与&:如果位数全为1,则结果为1,否则为0
  按位或|  :如果位数有1,则结果为1,否则为0
  异或^    :如果位数不相同,则结果为1,否则为0

原文地址:https://www.cnblogs.com/linbin7/p/14518213.html