java的基础概念

Posted fishperson

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java的基础概念相关的知识,希望对你有一定的参考价值。

java对大小写敏感!!!!

包名:

    package:

        1.全小写

        2.公司的域名倒着写

包:为了找到包中定义的类

类名:标准的命名规范是类名以大写字母开头的名字,如果由多个单词组成,每个单词的第一个字母都应该大写(驼峰法

java的任何方法的代码都是用“”开始,用“”结束

回车不是语句的结束标志,“;”分号才是结束的标志(python可以省略分号)空白符会被java编译器忽略~~~

System.out.print();  //使用了System.out对象调用了它的print方法。“.”用于调用方法。 java使用的通用语法是: object.method(parameters)  这等价于函数的调用

java的注释不会出现在可执行的程序中,不必担心可执行代码会膨胀

main方法是程序的入口

类:java开发中的最小单位,无论干什么都要定义一个类

 

标识符:

     可以简单的理解为一个名字。在Java中,我们需要标识代码的很多元素,包括类名、方法、字段、变量、包名等。我们选择的名称就称为标识符,并且遵循以下规则:

    1. 标识符可以由字母、数字、下划线(_)、美元符($)组成,但不能包含 @、%、空格等其它特殊字符。

    2.不能以数字开头。

    3.标识符是严格区分大小写的。

    4.标识符的命名最好能反映出其作用,做到见名知意。

 

关键字:

    在java语言中已经被赋予特定意义的一些单词。一共有53个关键字。其中有两个保留字:const和goto。关键字不能被用作标识符!!

    技术图片

注释:    

    //单行注释

    /*    多行注释   */

    /**     文档注释     */

 

变量:  

    在JAVA中,有的数据值是不固定的,总在变,我们还需要记录这些值,我们可以把这些值理解为变量。    

    我们通过三个元素来描述变量:变量类型,变量名以及变量值。

    int age=18;   //声明int类型的变量并赋值

      String tel;  //声明String类型的变量

    变量的使用原则:就近原则。尽量控制到最小范围。

    变量名必须以字母开头的由字母或数字构成的序列。

     可以在一行中声明多个变量,不提倡。

常量:

    在程序运行过程中一直不会改变的量成为常量。

    在java中希望某个经常可以在一个类中的多个方法中使用,通常将这些常量称为类常量。可以适用关键字static final 设置一个类常量

    例如: public static final double CM_PER_INCH=2.4;

    注意:常量定义在方法外部,因此同一个类的其他方法中也能使用这个常量,而且声明为public,那么其他的类的方法也能使用这个常量。

 

基本类型(八种):

    java是强类型语言,必须为每一个变量声明类型!!!!

    

 

类型名称

字节空间

范围

整数型

byte

1

-27到27-1   或者   -128到127

short

2

-215到215-1

int

4

-231到231-1

long

8

-263到263-1

浮点型

float

4

单精度,对小数部分的精度要求不高

double

8

双精度,精确的小数部分并操作值很大时

字符

char

2

0到65535

布尔

boolean

1

真true  假false

 

       java有一个能够表示任何精度的算术包,通常称为“大数值”(big number),它并不是一种java类型,而是一个java对象

      double这种类型的数值是float类型的两倍(float单精度,double双精度)

      重点:char类型~~  Unicode码,肯定有人说是ASCII码,反正我不深究

          char类型用于表示单个字符,定义字符类型,只能存一个,中文也是只能存一个,还可以存整数(char用的是单引号!双引号是String)

          char c1 = ‘0‘;

          char c2 = ‘a‘;

          char c3 = ‘中‘;

          char c4 = 98;

          最终的结果就是一个字符!!!

局部变量:

    定义在方法里,或者局部代码块中

    注意:必须手动初始化,来分配内存。如:int i=5;  或者 int i; i=5;

    作用域也就是方法里或者局部代码块里,方法运行完内存就释放了。

成员变量:

    定义在类里,方法外。

      注意:不用初始化,也会自动被初始化成默认值。 

    作用域是整个类中,类消失了,变量才释放。

      初始值:

        int    0

        byte   0

        short     0

        long      0

        float      0f

        double  0

        char   /u000

        boolean  false

整数字面值是int类型:

      int a = 999999999999999;//错,右侧超出int的取值范围

 

 

byteshortchar三种比int小的整数可以用范围内的值直接赋值:

      byte b = 127;//

 

      byte b2 = 128;//错的,超出byte范围

 

浮点数的字面值是double类型:

 

      float f = 3.0;//错,因为右侧默认是double8字节,float4字节,放不下的

 

字面值后缀LFD:

      long a = 999999999999L;

      float b = 3.0F;

      double d = 3D;

 

进制前缀:

      0b    - 2进制    0b0011

      0x    - 16进制   数据包括:0-9 abcdef  0x897a

      0     - 8进制    0435

      \\u    - char类型,16进制

 

基本类型的类型转换:

    小到大:

      隐式转换:

          byte  a  = 127;

          int   b = a;//拿到右侧的byte数据给左侧的int数据赋值,体现了从小到大的过程

           技术图片

     大到小:

        显式转换,需要强制类型转换:

          int a = 30;

          //拿到右侧的a是int类型,强制转化为short类型

          short b = (short) a;

 

浮点数转成整数,小数直接舍弃:

    double c = 3.14;

    int d  = (int) c;

    System.out.println(d); //结果是3,无论小数是多少,没有四舍五入,直接舍去

 

运算规则:

    计算结果的数据类型,与最大类型一致:

    java运算符,当参与/运算的两个操作数都是整数的时候,表示整数除法;否者表示浮点数除法;

    3/2    // 得到1 int/int  得到的结果还是int类型

      3.0/2  //得到1.5double/int 得到的结果是double类型

 

 

byte,short,char三种比int小的整数,运算时会先自动转换成int:

      byte a = 1;

      byte b = 2;

      byte c = a+b;//错,右侧byte+byte会自动转成int,拿着intbyte赋值相当于大转小,需要强转

      byte c = (byte)(a+b);// 

 

  浮点数运算不精确:

    1-0.8   // 0.19999999999999996

      主要原因是浮点数值采用二进制系统表示,而二进制系统中无法精确的表示分数1/10。就好像十进制无法精确到1/3一样。如果需要在数值计算中不含任何误差,就应该使用BigDecimal类

浮点数的特殊值:

      Infinity 无穷大  3.14/0

      Nan  not a number   0/0.0

 

运算符:

      

算术运算符

+ - * /

基本运算

%

取余数(模),常用于算整除  10%5==0

++     --

自增    自减

比较运算符

==

相等比较 1==2  false

!=

不等比较  1!=2  true

逻辑运算符

&&    &

逻辑与(短路与),两边同为真结果才为真

||       |

逻辑或(短路或),两边只要有一个真结果就是真

+

字符串连接

非,非真是假,非假是真

三元运算符

?:

三项运算

1?2:3

1是真取2,1是假取3

赋值运算符

=

赋值运算

+=    -=  

*=    /=

复合的赋值运算

a+=2;//a=a+2

 

               运算符有方向:赋值,三元运算符,!~ ++ -- + -()(强制类型转换)new 都是从又向左,其他的都是从左向又。

             

     |12有一个为true,结果就是true

    ||:短路或,1true2被短路

    &12都为true,结果就是true

    &&:短路与,1false2被短路

    &&的优先级高于||

  

    三元云算符:

      condition ? expression1 : expression2

      当条件condition为真时计算第一个表达式,否则计算第二个表达式

      例如: x < y ? x : y;

        返回x和y中较小的值。

    位运算符:

      &与  |或  ^异或  ~非

      >>       <<     :运算符将二进制位进行右移或左移操作

      >>>运算符将用0填充高位,>>运算符用符号填充高位。没有<<<运算符

      1<<3 : 8  

 

自增自减:

    ++在后,先取值后自增

    ++在前,先自增后取值

    --的定义与++相同

               记得当年有一道题是这么写的 : int a = 5;  a = a+(a++)+(++a);   // 当年算错了,还满脑袋问号~~~~

    例如:

      int n = 12;

      n++;

      n的值将变为13。因为这些运算符改变了变量的值,所以它的操作数不能是数值,4++就是一条非法语句。

 

 特殊字符的转义序列符:

    \\b     退格

    \\t      制表

    \\n  换行

    \\r     回车

    \\"     双引号

    \\‘     单引号

    \\\\    反斜杠

    在java.lang包中有String.split()方法,返回是一个数组

      1、如果用“.”作为分隔的话,必须是如下写法,String.split("\\\\."),这样才能正确的分隔开,不能用String.split(".");

      2、如果用“|”作为分隔的话,必须是如下写法,String.split("\\\\|"),这样才能正确的分隔开,不能用String.split("|");

      如果不加\\\\  :java.lang.ArrayIndexOutOfBoundsException

 

以上是关于java的基础概念的主要内容,如果未能解决你的问题,请参考以下文章

java基础---------数组相关概念

Java 技术体系基础概念

Java基础概念

Java基础教程--面向对象概念

java基础之类对象实例属性方法等概念理解

java基础之类对象实例属性方法等概念理解