java基础

来源:互联网 发布:数学必修三人教版算法 编辑:程序博客网 时间:2024/06/15 05:33

第一个java程序——HelloWorld

/*
需求:练习一个hello world程序
思路:
1.定义一个类,因为java程序都定义在类中,java程序都是以类的形式存在的,类的形式就是
  一个字节码文件最终体现。
2.定义一个主函数,为了让该类可以独立运行。
3.因为演示hello world,在控制台上看到该字样,所以需要输出语句完成。
步骤:
1.用class关键字来完成类的定义,并起一个阅读性强的类名。
2.主函数:public static void main(String[] args)  这是固定格式,jvm认识
3.使用输出语句:System.out.println("hello world"); 
代码仅仅是思想的一种体现,思路和步骤才是重要的。
*/

class Demo_1$Test        //注释
{
public static void main(String[] args)        
{
System.out.println("hello java");  

}
}
/*
多行
注释
*/



/**
需求:练习变量的定义与使用
*/
class VarDemo
{
public static void main(String[] args)
{
int b=3;
short s=4000;
int x=12;
long q=12345678945623l;             //注意后面有个l
float f=2.3f;                //后面有个f 
double d=1.3;
boolean m=true;
System.out.println(m);
}
}


/**
强制类型转换
*/

class VarDemo2
{
public static void main(String[] args)
{
int x=300;
byte b=5;
x=(byte)(x+b);         //强制类型转换,会丢失数据
       
System.out.println(x);
System.out.println('A'+0);        //这里用的是A的ASCII编码值

}
}


几种常见的结构:

判断结构  switch和if:

switch只用于对具体的值进行判断,而且值的个数通常固定,但他会将具体答案全都加载进内存,
  效率相对高一点,速度快一点,而if还可以对区间判断,对boolean类型的表达式进行判断,较为常用。

if语句格式1:
if(比较表达式) {
    语句体
}

if语句格式2:
if(比较表达式) {
    语句体1;
}else {
    语句体2;
}

if语句格式3:
if(比较表达式1) {
    语句体1;
}else  if (比较表达式2) {
语句体2;
}

else {
语句体n+1;
}

注意事项:
A:比较表达式无论简单还是复杂,结果必须是boolean类型
B:一般来说:
有左大括号就没有分号,有分号就没有左大括号

switch语句的格式:
switch(表达式) {
case 值1:
语句体1;
break;
   case 值2:
语句体2;
break;
   …
   default:
语句体n+1;
break;
}

注意事项:
A:case后面只能是常量,不能是变量。
B:多个case后面的值不能出现相同的。
C:default可以省略吗?
可以。但是不建议。
D:break可以省略吗?
可以。但是不建议。
容易出现case穿透。
E:default的位置一定要在最后吗?
可以在任意位置,建议在最后。
F:switch语句的结束条件
a:遇到break
b:执行到末尾
  


循环结构  while      do while        for
do while特点:循环体至少执行一次。
for和while可以互换,但如果需要通过变量来对循环就行控制,该变量值只作为循环增量存在时,
for语句中该变量在循环结束后内存就释放了,后面不能使用了,所以会稍微节省点内存。
无限循环最简单的形式:while(true){}              for(;;){}

/*

需求:求1到10的和

*/

class WhileDemo
{
public static void main(String[] args)
{
int i=1;        //记录参与加法的数据
int s=0; //记录每一次数据的和
while(i<=10)
{
s=s+i;
i++;
}
System.out.println("s="+s);
}
}


运算符:

^ :   这是异或符号,和或有点不一样。不同之处:true^true=false,其他与或相同。
&&:   双与   若符号左边表达式为假则右边表达式不用执行运算,直接结果为假,而&(单与)无论
         如何,两边都会执行。
||:   双或,和双与同理,当左边为true,右边不参与运算。   双与和双或比较常用。

位运算符:^   &  |   ~    <<   >>    >>>
eg:  6&3=2  运算过程:  (1代表真,0代表假)    相当于取出了6的二进制的后二位
      110    (6)
          &111     (3)
      010     (2)
     6|3=7                            凡是有效位(1就是有效位)全部保留
     
     6^3=5   6^3^3=6                  一个数异或同一个数两次,结果还是这个数。利用这个
                                      可以实现加密。异或一次就加密,再异或一次就解密。
     ~6=-7                反码 
    
     3<<2=12              3的二进制011(前面还有29个0没写出来)左移两位就变成1100,就是12
         实际上左移几位就是乘2的几次方。
     
     6>>2=1  -6>>1=-3     实际上右移几位就是除以2的几次方。注意6/4=1而不是1.5
                          对于高位出现的空位,原来是几就补几,等于保留正负号。
    
     -6>>>=3             无符号右移,数据右移时,高位出现的空位,全用0补,等于肯定是正的。
     
     位运算是一种更高效的运算。
     交换a,b的值的方法:
     1.定义一个中间量c
     2.a=a^b; 如a=3,b=5   a=3^5;               (这种方法阅读性差,不太实用)
       b=a^b;             b=(3^5)^5=3;
       a=a^b;             a=(3^5)^3=5;

0 0
原创粉丝点击