---------------------- ASP.Net+Unity开发、.Net培训、期待与您交流! ----------------------
JAVA语言基础组成:关键字、标识符、注释、常量和变量、运算符、语句、函数、数组。
1.关键字:
2.标识符:在程序中自定义的一些名称。比如:类名、方法名、变量名等。包含26个英文字母大小写,数字:0~9,符号:_$。
注意:1.数字不可以开头;2.不可以使用关键字。
3.注释:对程序做的注解说明,提高代码可读性的一种手段。
JAVA中的三种注释:单行(//内容)、多行(/*内容 */)、文档(/** 内容*/)。
4.常量:不能改变的数值。
变量:其实就是内存中一个存储空间,用于存储常量数据。
作用:方便于运算。因有些数据不确定,所以确定定该数据的名词和存储空间。
定义变量----->数据不确定的时候定义。
变量开辟空间需要的要素:数据类型、变量名称、变量的初始化值。
变量的作用域和生存周期:
作用域---->从变量定义开始到该变量所在的那对大括号结束(一对{}之间有效);
生命周期---->从变量从定义开始到它所在的作用域时在内存中消失。
数据类型:1.基本数据类型(四类八种):整型:byte(1个字节)、short(2个字节)、int(4个字节)、long(8个字节);
浮点型:float(4个字节)、double(8个字节);
字符型:char(2个字节);
布尔型:boolean();
2.引用数据类型:数组([],array)、类(class)、接口(interface)。
由低到高:byte,char,short--->int--->float--->long--->double;
自动类型转换:低--->高,系统自动转换;
强制类型转换:把一个高级别的数赋给一个低于该数的级别的变量。
/**
*练习:自动类型提升
byte b = 3;
int x = 4;
x = x + b;//b会自动提升为int类型进行运算。
强制类型转换
byte b = 3;
b = b + 4;//报错
b = (byte)b+4;//强制类型转换,强制将b+4的结果转换为byte类型,再赋值给b。
思考:
byte b1=3,b2=4,b;
b=b1+b2;//报错,强制类型转化,强制将b1+b2的结果转换为byte类型,再赋值给b.
b=3+4;
*
*/
5.运算符:算术运算符、赋值运算符、比较运算符、逻辑运算符、位运算符、三元运算符
赋值运算符:= += -= *= /= %=
/**
* 练习:
* 1.int a,b,c;
* a=b=c=3;
* int a=3;
* a+=5;等同运算a=a+5;
*
*/
public class Test10Demo {
public static void main(String[] args) {
System.out.println(3>2);//true
System.out.println(3==2);//false
}
}
^(异或):两边结果一样,就为false;两边结果不一样就为true。
&和&&的区别:&:无论左边结果是什么,右边都参加运算;
&&:短路与,如果左边为false,那么右边不参与运算。
|和||区别:|:两边都运算;
||:短路或,如果左边为true,那么右边不参与运算。
位运算是直接对二进制运算。
异或运算中,当一个数异或同一个数两次,结果等于它本身。如a^b^b=a
练习:
*练习:
* 1.最有效率的方式算出2乘以8等于几?2<<3;
* 2.对两个整数变量的值进行互换(不需要第三方变量)
* @author Administrator
*
*/
public class Test10Demo {
public static void main(String[] args) {
System.out.println(2<<3);//位运算:左移2的3次幂
int a=3,b=5;
System.out.println("互换前a="+a+",互换前b="+b);
a=a^b;
b=a^b;//b=a^b^b=a
a=a^b;//a=a^a^b=b
System.out.println("互换后a="+a+",互换后b="+b);
}
}
三元运算符:
格式:
(条件表达式)?表达式1:表达式2;
如果条件为true,运算后的结果是表达式1;
如果条件为false,运算后的结果是表达式2;
/**
*练习:
* 获取两个数中大数。
* @author Administrator
*/
public class Test10Demo {
public static void main(String[] args) {
int x=3,y=4,z;
z = (x>y)?x:y;//z变量存储的就是两个数的大数。
System.out.println(z);
}
}
6.流程控制语句: 顺序结构、判断结构、循环结构、选择结构
判断:
if语句三种格式:
1.if(条件表达式){
执行语句;}
2.if(条件表达式){
执行语句;}
else{
执行语句;}
3.if(条件表达式){
执行语句;}
else if (条件表达式){
执行语句;}
……
else{
执行语句;}
if语句特点:
a,每一种格式都是单条语句。
b,第二种格式与三元运算符的区别:三元运算符运算完要有值出现。好处是:可以写在其他表达式中。
c,条件表达式无论写成什么样子,只看最终的结构是否是true 或者false;
选择:
switch语句
格式:
switch(表达式){
case 取值1:
执行语句;
break;
case 取值2:
执行语句;
break;
…...
default:
执行语句;
break;
}
switch语句特点:
a,switch语句选择的类型只有四种:byte,short,int ,char。
b,case之间与default没有顺序。先执行第一个case,没有匹配的case执行default。
c,结束switch语句的两种情况:遇到break,执行到switch语句结束。
d,如果匹配的case或者default没有对应的break,那么程序会继续向下执行,运行可以执行的语句,直到遇到break或者switch结尾结束。
循环:
代表语句:while , do while , for
while语句格式: do while语句格式:
while(条件表达式) do{
{ 执行语句;
执行语句; }while(条件表达式);
}
do while特点是条件无论是否满足,循环体至少被执行一次。
格式:
for(初始化表达式;循环条件表达式;循环后的操作表达式)
{执行语句;}
注:
a,for里面的连个表达式运行的顺序,初始化表达式只读一次,判断循环条件, 为真就执行循环体,然后再执行循环后的操作表达式,接着继续判断循环条件, 重复找个过程,直到条件不满足为止。
b,while与for可以互换,区别在于for为了循环而定义的变量在for循环结束就是在内存中释放。而while循环使用的变量在循环结束后还可以继续使用。
c,最简单无限循环格式:while(true) , for(;;),无限循环存在的原因是并不知道循环多少次,而是根据某些条件,来控制循环。
break(跳出)语句:应用范围:选择结构和循环结构。
当循环嵌套时,break只跳出当前所在循环。要跳出嵌套中的外部循环,只要给循环起名字即可,这个名字称之为标号。
continue(继续)语句:应用于循环结构。作用:结束本次循环,继续下次循环。
注:
a,这两个语句离开应用范围,存在是没有意义的。
b,这个两个语句单独存在下面都不可以有语句,因为执行不到。
c,continue语句是结束本次循环继续下次循环。
d,标号的出现,可以让这两个语句作用于指定的范围。
import java.util.Scanner;
/**
一年有四季,
春季:3 4 5
夏季: 6 7 8
秋季: 9 10 11
冬季: 12 1 12
根据用户输入的月份,给出相应的月份
*/
public class Test10Demo {
private static Scanner sc;
public static void main(String[] args) {
System.out.println("请输入月份:");
sc = new Scanner(System.in);
int month=sc.nextInt();//将输入的月份赋给变量
if (month< 1||month>12)//判断
System.out.println(month+"月没有对应的季节");//输出结果
else if (month>=3&&month<=5)
System.out.println(month+"月是春季");//输出结果
else if (month>=6&&month<=8)
System.out.println(month+"月是夏季");//输出结果
else if (month>=9&&month<=11)
System.out.println(month+"月是秋季");//输出结果
else
System.out.println(month+"月是冬季");//输出结果
}
}
import java.util.Scanner;
/**
根据用户输入的数据,给出相应的星期
*/
public class Test10Demo {
private static Scanner sc;
public static void main(String[] args) {
System.out.println("请输入数据:");
sc = new Scanner(System.in);
int week=sc.nextInt();//将输入的数据赋给变量
switch (week)
{
case 1:
System.out.println(week+"对应的是星期一");
break;
case 2:
System.out.println(week+"对应的是星期二");
break;
case 3:
System.out.println(week+"对应的是星期三");
break;
case 4:
System.out.println(week+"对应的是星期四");
break;
case 5:
System.out.println(week+"对应的是星期五");
break;
case 6:
System.out.println(week+"对应的是星期六");
break;
case 7:
System.out.println(week+"对应的是星期日");
break;
default:
System.out.println(week+"没有对应的星期");
break;
}
}
}
/**
求1~100之间的奇数和、偶数和
*/
public class Test10Demo {
public static void main(String[] args) {
int Jsum=0;//奇数和
int Osum=0;//偶数和
for(int i=1;i<=100;i++)
{
if(i%2==0)
{
Osum+=i;
}
else
{
Jsum+=i;
}
}
System.out.println("1~100的奇数和是:"+Jsum);
System.out.println("1~100的偶数和是:"+Osum);
}
}
---------------------- ASP.Net+Unity开发、.Net培训、期待与您交流! ----------------------