Java学习之路(基础一)

基础知识

关键字

  •   (1)被Java语言赋予特定含义的单词
      (2)特点:全部小写。
      (3)注意事项:
      	A:goto和const作为保留字存在。
      	B:类似于Notepad++这样的高级记事本会对关键字有特殊颜色标记
    

标识符

  •   常见的命名规则(见名知意)
      	A:包	全部小写
      		单级包:小写
      			举例:package,Math。
      		多级包:小写,并用.隔开
      			举例:cn.itcast;com.baidu				
      	B:类或者接口
      		一个单词:首字母大写
      			举例:Student,Demo
      		多个单词:每个单词首字母大写
      			举例:HelloWorld,StudentName
      	C:方法或者变量
      		一个单词:首字母小写
      			举例:name,main
      		多个单词:从第二个单词开始,每个单词首字母大写
      			举例:studentAge,showAllNames()
      	D:常量
      		全部大写
      		一个单词:大写
      			举例:PI
      		多个单词:大写,并用_隔开
      			举例:STUDENT_MAX_AGE
    

注释

  •   	(1)就是对程序进行解释说明的文字
      	(2)分类:
      		A:单行注释	//
      		B:多行注释	/**/
      		C:文档注释	/** */
      	(3)注释的作用
      		A:解释说明程序,提高了代码的阅读性。
      		B:可以帮助我们调试程序。
      			后面我们会讲解一个更高端的一个调试工具
    

数据类型

  •   (1)Java是一种强类型语言,针对每种数据都提供了对应的数据类型。
      (2)分类:
      	A:基本数据类型:4类8种
      	B:引用数据类型:类,接口,数组。
      (3)基本数据类型
      	A:整数			占用字节数
      		byte			1
      		short			2
      		int 			4
      		long			8
      	B:浮点数
      		float			4
      		double			8
      	C:字符
      		char			2
      	D:布尔
      		boolean			1
      		
      	注意:
      		整数默认是int类型,浮点数默认是double。			
      		长整数要加L或者l。
      		单精度的浮点数要加F或者f。
    

数据类型转换

  •   (1)boolean类型不参与转换
      (2)默认转换
      	A:从小到大
      	B:byte,short,char -- int -- long -- float -- double
      	C:byte,short,char之间不相互转换,直接转成int类型参与运算。
      (3)强制转换
      	A:从大到小
      	B:可能会有精度的损失,一般不建议这样使用。
      	C:格式:
      		目标数据类型 变量名 = (目标数据类型) (被转换的数据);
      (4)思考题和面试题:
      	A:下面两种方式有区别吗?
      		float f1 = 12.345f;
      		float f2 = (float)12.345;
      	B:下面的程序有问题吗,如果有,在哪里呢?
      		byte b1 = 3;
      		byte b2 = 4;
      		byte b3 = b1 + b2;
      		byte b4 = 3 + 4;
      	C:下面的操作结果是什么呢?
      		byte b = (byte)130;
      	D:字符参与运算
      		是查找ASCII里面的值
      		'a'		97
      		'A'		65
      		'0'		48			
      		System.out.println('a');
      		System.out.println('a' + 1);
      	E:字符串参与运算
      		这里其实是字符串的连接			
      		System.out.println("hello"+'a'+1);
      		System.out.println('a'+1+"hello");
      		System.out.println("5+5="+5+5);
      		System.out.println(5+5+"=5+5");
    

异或运算符

  •   	swap数据的三种方式:
      	第一种:
      		int temp;
      		temp = a;
      		a = b;
      		b = temp;
      	第二种:
      		a = a ^ b;
      		b = a ^ b;
      		a = a ^ b;
      	第三种:
      		a = a + b;
      		b = a - b;
      		a = a - b;
    

switch条件表达式数据类型

  •   数据类型在1.5和1.7版本之后增加了string等数据类型,目前几乎支持所有的数据类型。	
    

二维数组

  •   二维数组: 第二维数组可以不用给出个数,只需要给出第一维的即可。
      第一种:
      	DataType ArrayName[][] = new DataType[m][n];
      第二种:
      	DataType[][] ArratName = new DataType[m][n];
      第三种:
      	DataType[] ArrayName[] = new DataType[m][n];
      第四种:
      	DataType[][] ArratName = {{...}{...}{...}};
    

函数中参数传递

  •   Java中的参数传递只有值传递。
      基本类型:形式参数的改变不影响实际参数;
      引用类型:形式参数的改变会影响实际参数,数组属于引用类型。
    

Java程序的开发,设计和特征

  •   开发:就是不断的创建对象,通过对象调用功能;
      设计:管理与维护对象之间的关系;
      特征:封装 继承 多态。
    

成员与局部变量

  •   (1)在类中的位置不同:
      	成员变量:类中方法外;
      	局部变量:方法定义中或者方法声明上。
      (2)在内存中位置不同:
      	成员变量:在堆内存中;
      	局部变量:在栈中。
      (3)生命周期不同:
      	成员变量:随着对象的创建而存在,随着对象的消失而消失。
      	局部变量:随着方法的调用而存在,随着方法调用完成而结束。
      (4)初始化值不同:
      	成员变量:有缺省值;
      	局部变量:没有缺省值,需要定义。
    

类作为形式参数:

  •   可以理解为需要一个该类的数据类型,而类是抽象的概念,也就是说本质是需要该类的一个对象实例。
    

匿名对象

  •   在需要仅仅使用一次的时候,可以创建一个无名称的对象。eg:new studentDemo().(new student()).show().
    

封装

  •   (1)隐藏具体的实现细节,提供公共的方法。
      (2)提高代码的复用性,安全性。
      (3)设计原则:隐藏具体的实现细节,提供公共的访问方法。
      (4)private是封装的一种表现形式。
    

this

  •   代表当前类的引用对象,哪个对象调用方法,该方法内部的this就代表那个对象。
    

构造方法

  •   (1)用于对象数据的初始化。
      (2)方法名与类名相同;没有返回值,连void也没有;但可以写为return。任何的void返回类型都可以写作return;
    

static特性

  • 可以修饰成员变量和成员方法

  • 被类的所有对象共享,可以通过类名调用, for example:

      class student{
      	public static String name = "Tom";
      }
      	tudent s = new student();
      	s.name = "sam";
      	System.out.println(s.name);
      	student ss = new student();
      	System.out.println(ss.name);
      	System.out.println(student.name);
      	
      console Output:
      	sam
      	sam
      	sam
    
  • 静态注意:

      	在静态方法中没有this对象。
      	静态只能访问静态。
    
  • 静态变量与成员变量的区别:

    • 所属不同:
      静态变量:属于类,类变量。
      成员变量:属于对象。需要实例。
    • 内存位置:
      静态变量:方法区的静态区。
      成员变量:堆内存。
    • 生命周期:
      静态变量:随着类的加载而加载,随着类的消失而消失。
      成员变量:随着对象的创建而存在,随着对象的消失而消失。
    • 调用不同:
      静态变量:可以通过对象名也可以通过类名调用。
      成员变量:只能通过对象名称调用。
    • main方法静态:
      public:权限修饰符,在jvm中的权限最大。
      static:不需要创建对象即可调用。
      void:返回到jvm,是没有意义的。
      main:普通的函数名,一般作为程序的入口。
      String[] args:可以接受数据,提高程序的灵活性,如:java test JVM

你可能感兴趣的:(Java基础学习)