Java基本语法笔记

1.  基本格式

  public class HelloWprdApp {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        int num = 10;
        num = 30;
        System.out.println("num="+num);
        System.out.println("num*num="+num*num);
    }

}

  String args[]:传统的写法,c、c++都用该种写法;
  String[] args :Java的写法,但Java也能用上面的方法定义。
  实际上String[] args 是定义一字符串数组变量。
  在java中,String[] args和String args[] 都可以定义数组。二者没有什么区别。为规范编码,推荐使用String[] args。另外args可以随意改,和其它变量一样,它只不过是一变量名,只要符合变量名规则即可。

 

  打印语句

  System.Out.println("");  带有换行 

  System.Out.print("");  不带有换行

 

  java申明一个类的方法有两种

    <i>public class  类名称要和文件的名称一样,否则不能编译

    <ii>class    类名称可以和文件的名称不一样,编译时候生成的是 类名称.class

 

2.java基本数据类型

  数据类型    大小/位    可表示的数据范围      默认值

  long(长整数)    64      -2^63~2^63-1        0L

  int(整数)      32      -2^31~2^31-1        0

                    -0x80000000~0x7FFFFFFF  -2147483648~2147483647

  short(短整数)    16      -32768~32767         0

  byte(位)      8         -128~127           0

  char(字符)     2          0~255         \u0000

  float(单精度)    32     -3.4E38~3.4E38         0.0f   定义为float型的时候,数值的后面要加上f

  double(双精度)   64     -1.7E308~1.7E308        0.0d     注意使用浮点型数值的时候,默认使用的是double型,后面加上f的时候才使用float型

  boolean      1           flase true          flase

 

  当数值发生溢出的时候,会形成循环,即最大值加上1后会变成最小值

 

  强制转换类型的两种方法

    Integer.MAX_VALUE+2L    在加的数字后面加上L表示强制转换成长整形

    ((long)Integer.MAX_VALUE+2)  在加的数字前面加上long实现强制转换

 

3.常用的转义字符

  转义字符  描述

   \f    换页

   \\    反斜线

   \b    倒退一格

   \'    单引号

   \r    归位

   \"    双引号

   \t    制表符tab

   \n    换行

 

4.类型的转换

   当表示范围小的数值类型加上大的数值类型的时候,会自动转换成大的数值类型,比如short+int,会自动把结果转换成int型

   当数值类型加上字符串的时候,都转换成字符串类型

 

5.位运算符

    位运算符    描述

     &      按位与

      |      按位或    

     ^      异或(相同为0,不同为1)

     ~      取反

     <<      左移位  

     >>      右移位  正数右移的时候左边补零,负数左边补一

     >>>     无符号移位  正数负数右移的时候左边都补零

 

数组中,数组的名字,即地址存在栈内存中,地址指向的内容存在堆内存中,开辟新的堆内存必须要用关键字new,栈内存中存储的是堆内存的访问地址

当堆空间没有任何栈空间引用的时候,就成为了垃圾空间,等待这垃圾回收机制进行回收

数组的复制:System.arraycopy(i1,3,i2,1,3)源数组名称  源数组开始点  目标数组名称  目标数组开始点  复制长度

 

6.逻辑运算符优先级

 

7.方法的定义方式

  public static void 方法名字(类型 参数,类型 参数。。。){

  程序语句

  }

 

8.可变参数  

  fun();

  fun(1);

  fun(1,2,3,4,5);

  public static void fun(int... arg){

    for(int i=0;i<arg.lenght;i++){

      system.out.print(arg[i]+"、");

  }

}

 

9.foreach语法

  for(数据类型 变量名称:数组名称)

  public static void fun(int... arg){

    for(int x:arg){

      system.out.print(x+"、");      

    }

  }

 

10.类的定义

  class Person{

    private string name;//把属性封装,讲不能通过XX.name访问,必须通过setter和getter方法设置和取得

    private int age;//private也可以用-表示

 

    public Person(String name,int age){    //构造函数,和类名同名

      this.setName(name);

      this.setAge(age);

    }

 

    public void tell(){

      system.out.println();

    }

}

对象的创建和使用

  类名 对象名称 = null;

  对象名称 = new 类名();

或者

  类名 对象名称 = new 类名();

匿名对象

  new Person("张三",30).tell();//匿名对象,匿名对象一般是作为其他类实例化对象的参数传递,匿名对象是一个堆内存空间,没有栈空间

 

类设计分析

<1>根据要求写出类所包含的属性

<2>所有的属性都必须进行封装(private)

<3>封装之后的属性通过setter和getter设置和取得

<4>如果需要可以加入若干构造方法

<5>再根据其他要求添加相应的方法

<6>类中的所有方法都不要直接输出,而是交给被调用处输出

<7> 永远不要继承一个已经实现好的类,只能继承抽象类或者实现接口,因为一旦发生对象的向上转型关系后,所调用的方法一定是被子类所覆写的方法

 

11.string对象

  使用==比较string对象的时候比较的是string的地址

  使用.equals方法比较的是string对象的内容

 

  <1>使用string str = new string("hello");创建一个新的string对象,"hello"创建一个对象,new关键字又创建一个对象,所以建议使用第二种方法创建对象

  <2>string str = "hello";

 

  注意:字符串的内容不可以修改,所以要避免对字符串的内容进行连续的修改,因为修改一次就要开辟两个新的内存空间,通过断开和连接进行字符串的修改。

要通过StringBuffer类进行修改。

转载于:https://www.cnblogs.com/tonglin0325/p/5183703.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值