【入门】java基础--1

来源:互联网 发布:悉尼大学 住宿 知乎 编辑:程序博客网 时间:2024/05/29 08:11

万能的编译器:

1. 默认添加 import java.lang.*;

2. 如果一个类中没有定义构造方法,默认添加公开无参的构造方法

3. 如果访问一个属性和方法时,没有加引用,则默认添加 "this."

4. 如果一个构造方法的第一行既不是this,也不是super , 默认添加 "super()"

5. 如果不明确指定一个类的父类, 默认继承Object



Java好处:

1.跨平台 2.简单 3.面向对象 4.开放



Java运行机制:先编译  后解释   

编译

源文件 ----> 机器码文件   无法跨平台     C C++

解释

源文件 ---->               可以跨平台     Basic  JS


        编译器                     解释器 

源文件(.java) ----> 字节码文件(.class) ---->  平台中立 


1) 编译器  javac          javac 源文件名 (带.java)

2) 解释器  java            java  类名(不带.class)

3) JVM


JDK (编译器 解释器 JVM 工具 类库)


环境变量

Java_Home : JDK安装目录

Path: JDK安装目录/bin    

ClassPath: .    类路径  指示编译器或JVM到哪去找所需要的类


公开类类名必须和源文件名相同,包括大小写. 

一个源文件中可以定义多个类,但只能有一个公开类


Java程序的基本结构

package 0-1 

import 0-n   (1-n)

class 1-n   公开类 0-1



编程习惯  可读性


1.注释 描述代码的文字 

  // 单行注释

  /*  */  多行注释   不允许嵌套

  /** */  多行注释   配合JavaDoc工具 生成API帮助文档

2.缩进

   1)每行一句代码

   2)同层次代码左对齐

   3)每进入一个代码块, 缩进一次

3.标识符

   语法:字母 数字 下划线 货币符号$   数字不能开头

        没有长度限制

        不能使用关键字,保留字,true ,false

        大小写敏感

   习惯:望文知义 

        大小写 

               类名              单词首字母大写                         HelloWorld

               变量名/方法名     首单词小写,后面的单词首字母大写        helloWorld

               包名              全小写                                 helloworld

               常量名            全大写                                 HELLOWORLD

变量 强类型 变量类型和变量中的数据类型必须一致  

局部变量: 定义在函数的内部的变量

1.必须先赋值,再使用

2.作用范围:从定义开始,到所在的代码块结束

3.重合范围内,不允许2个局部变量重名



数据类型  2种


1 基本数据类型   8种

  1) byte   1B   -128 -- 127

  2) short  2B   -32768 -- 32767

  3) int    4B   -2147483648 -- 2147483647    10 010 0x10 0b10(since 1.7) 

  4) long   8B   -2^63 -- 2^63-1    字面值加L或者l

  5) float  4B   字面值加F

  6) double 8B   字面值加D或者不加

  7) boolean     字面值 true false

  8) char   2B   字面值 'A'  65  '\u0041'   转义字符 \n  \t  \\  \'  \"

2 对象类型

  String 字面值 "ABCD"   支持 + 运算   字符串连接

运算中的类型自动提升

a ? b

if  a,b有double ---> double 

else if a,b有float ---> float

else if a,b有long  ---> long

else  ---> int


表达式 运算符

=

+ - * / % 

+= -= *= /= %=      a+=2  a=a+2

++ --               a++  a+=1

== != > < >= <= 

&&(逻辑与) ||(逻辑或 ) !(逻辑非)

(布尔表达式)?值1:值2


& | ^ ~  >> << >>>


()控制优先级


流程控制

if(布尔表达式) {  } 

if(布尔表达式) { 代码块1 }    else { 代码块2 }

if(条件1){} else if(条件2) { } else if 



switch(int表达式)  byte short int char String(since 1.7)

{

   case 值1:

   case 值2:

   ...

   default:

}

break 跳出swtich-case结构

while(布尔表达式){}       0-n

do{} while(布尔表达式);   1-n    不确定循环

for( 循环变量初始化 ; 循环条件 ; 循环变量变化 )  0-n     for(int i=1; i<4; i++){  } 

    确定循环



break     跳出循环

continue  跳出本次循环



数组  一次性定义多个同类型的变量

定义数组 int[] a;

分配空间 a = new int[5]  数组元素的默认值: 数值类型 0 ; 布尔类型 false ; 对象类型 null

数组名.length : 表示数组长度


数组特点: 存储空间必须连续   查询快  增删慢 长度固定



函数的作用

1.减少冗余代码 , 提高程序的可维护性

2.提高代码的可重用性

3.利于分工



非结构化编程  代码单位:语句

结构化编程    代码单位:函数      面向过程

面向对象编程  代码单位:类 


函数语法:

1.函数的声明 : static 返回值类型 函数名 (形参列表)   形参:函数内部有效的局部变量

2.函数的实现 : {}



函数的调用: 函数名(实参列表)  实参:为形参赋值的数据