黑马程序员_java基础知识总结

------- android培训java培训、期待与您交流! ----------

1.JAVA语言特点:是简单易学,完全面向对象,安全可靠,与平台无关的编程语言
2.JAVA跨平台性原理:Java程序是通过java虚拟机在系统平台上运行的,只要该系统可以安装相应的java虚拟机,该系统就可以运行java程序。(注意不是能在所有的平台上运行,关键是该平台是否能安装相应的虚拟机)。
3.JVM,JRE,JDK的区别:
JVM : 指的是java虚拟机,用于保证java的跨平台的特性。java语言是跨平台,jvm不是跨平台的。
JRE :  java运行环境。包括Java虚拟机和Java程序所需的核心类库等,如果想要运行一个开发好的Java程序,计算机中只需要安装JRE 即可。
JDK:(Java Development Kit Java)开发工具包。JDK是提供给Java开发人员使用的,其中包含了java的开发工具,也包括了JRE。所以安装了JDK,就不用在单独安装JRE了。
4.JAVA程序运行机制

(1).编写java源文件
(2).通过javac命令编译java文件,生成class文件
(3).通过java命令运行java文件
5.java小细节
一个Java源文件里可以定义多个Java类,但其中最多只能有一个类被定义成public类;
若源文件中包括了public类,源文件必须和该public类同名;

6.java注释

(1).单行注释      //:

//后到本行结束的所有字符会被编译器忽略;

(2).多行注释     /* */:

/* */之间的所有字符会被编译器忽略

(3).文档注释     /** */:

 在/**  */之间的所有字符会被编译器忽略,java特有的(用于生成文档);     
7.java标识符

(1) 由字母、数字、下划线、$组成,不能以数字开头         

(2)大小写敏感

(3)不得使用java中的关键字和保留字

(4)别用Java API里面的类名作为自己的类名。

8.Java成员变量和局部变量

局部变量:不是声明在类体括号里面的变量;

局部变量 使用前必须初始化值;

局部变量 没有默认初始化值;

局部变量 的作用域是从定义开始到定义它的代码块结束;

成员变量:在方法体外,类体内声明的变量,又称字段(Field)或全局变量;(其实Java中没有全局变量,由于Java是面向对象语言,所有变量都是类成员)成员变量的作用域是整个类中

package reviewDemo;

public class Demo2 {
 public static void main(String[] args) {
     int i;
       System.out.println(i);
   }
}
局部变量调用前没有初始化,所以编译的时候就会报错!

package reviewDemo;

public class Demo2 {
  static int i;
    public static void main(String[] args) {
     System.out.println(i);
   }
}

此时i为全局变量,未初始化会被赋予默认的初始化值!程序正确!

9.java基本数据类型


10.基本数据类型转换之向上转型和向下转换

向上转换:

整型,字符型,浮点型的数据在混合运算中相互转换,转换时遵循以下原则:

容量小的类型可自动转换为容量大的数据类型;

byte,short,char → int → long → float → double

byte,short,char之间不会相互转换,他们在计算时首先会转换为int类型。

boolean 类型是不可以转换为其他基本数据类型。

向下转换:

整型,字符型,浮点型的数据在混合运算中相互转换,转换时遵循以下原则:

容量小的类型可自动转换为容量大的数据类型;

byte,short,char → int → long → float → double

byte,short,char之间不会相互转换,他们在计算时首先会转换为int类型。

boolean类型是不可以转换为其他基本数据类型。
11. Java的运算符

算术运算符(+ 、— 、* 、/ 、%)

赋值运算符(= 、+=、-=、*=、/=,、%=)

关系运算符(>、>=、<、<=、!=)

条件运算符(&&、||、!&、|、^)

位运算符(&、|、^、~、>>、<<、<<<、>>>)

“&”和“&&”的区别:单与时,左边无论真假,右边都进行运算;双与时,如果左边为真,右边参与运算,如果左边为假,那么右边不参与运算。

“|”和“||”的区别同理,双或时,左边为真,右边不参与运算。

“ ^ ”与“|”不同之处是:当左右都为true时,"^"结果为false。

12. 三目运算符

“三目运算符”,语法格式:

x ? y : z;

其中x为boolean类型表达式,先计算x的值,若为true,则整个三目运算符的结果是表达式y的值,否则就是z的值。

13.if语句

三种格式:

if(条件表达式){执行语句;}

if(条件表达式){执行语句;}else{执行语句;}

if(条件表达式){执行语句;}else if(条件表达式){执行语句;}……else{执行语句;}

public class If3 
{
	public static void main(String args[])
	{
		int i = 3;
		if (i > 5)
		{
			System.out.println("变量i大于5");
		}
		else if (i > 4)
		{
			System.out.println("变量i小于4");
		}
		else
		{
			System.out.println("其他");
		}
	}
}
13.switch语句

case之间与default没有顺序。先执行第一个case,都没有匹配的case值执行default。

结束switch语句的两种情况:遇到break,switch语句执行结束。

如果匹配的case或者default没有对应的break,那么程序会从第一次匹配的case语句开始继续向下执行,运行可以执行的语句,直到遇到break或者switch结束为止。

class switch2 
{
	public static void main(String[] args) 
	{
		int a = 7,b = 5;
		switch(a-b)
		{
			case 3://表达式可能的值;
			{
				System.out.println("33!");
			}
			break;

			case 4:
			{
				System.out.println("44!");
				}
				break;
				default://都没有执行则 执行该语句!
					System.out.println("其它的");

		}
	}
}

14.循环结构
while:事先不需要知道循环执行多少次;
do while:同上,只是至少要执行一次(先做,后判断);
for:需要知道循环次数;
 
while语句
格式:
while(条件表达式值为true)
{
       执行语句;
}
 
do while语句
格式:
do
{
       执行语句;
}
while(条件表达式值为true);
 
do while特点是无论条件是否满足,循环体至少被执行一次。
循环里的条件表达式不能直接写false或直接写结果是false的表达式,不过可以使用变量来传递false值;
 
循环结构(for)
格式:
for(初始化表达式(1);循环条件表达式(2);循环后的操作表达式(3))
{
              执行语句;(4)
}
       执行顺序:(1) → (2) → (4) → (3) → (2) → (4) → (3)
 
(1) for里面的3个表达式运行的顺序,初始化表达式只读一次,判断循环条件,为真就执行循环体,然后再执行循环后的操作表达式,接着继续判断循环条件,重复找个过程,直到条件不满足为止。
(2) while与for可以互换,区别在于for为了循环而定义的变量在for循环结束就在内存中释放。而while循环使用的变量在循环结束后还可以继续使用。
(3) 最简单无限循环格式:while(true) , for(;;),无限循环存在的原因是并不知道循环多少次,而是根据某些条件,来控制循环。

class while
{
	public static void main(String[] args) 
	{
		int i = 1,k = 0;
		while(i<=100)
		{
			if(i%3==0)
			{
			if(k<5)
			System.out.println(i);
			k++;
			}
			i++;
		}
	}
}

class dowhile
{
	public static void main(String[] args) 
	{
		int i = 1,k = 0;
		do{
			if(i%3==0)
			{
			if(k<5)
			System.out.println(i);
			k++;
			}
			i++;
		}
		while(i<=100);
	}
}

class for
{
	public static void main(String[] args) 
	{
		int i = 1,k = 0;
		for(;i<100;i++)
		{
			if(i%3==0&&k<5)
			{
			System.out.println(i);
			k++;
			}
		}
	}
}
15.流程控制

break:终止该层循环;

continue:跳过该层循环


注:

①:若这两个语句离开应用范围,存在是没有意义的。

②:这个两个语句后面都不能有语句,因为执行不到。

③:continue语句是跳过本次循环,继续下次循环。

④:标签的出现,可以让这两个语句作用于指定的循环。


package reviewDemo;

public class Demo2 {
	public static void main(String[] args) {
		int i = 1;
		for (; i < 10; i++) {
			System.out.println(i);
			if(i == 8){
				break;//流程控制,不会完全执行!
			}
		}
	}
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值