Java笔记有始无终

`Java开发环境安装JDK执行需要安装JRE
`Java有3个版本
1.Java ME(micro edition)用于小型移动设备,嵌入式
2.Java SE(standard edition)是JAVA ME和JAVA EE的基础,必须先学习JAVA SE
3.Java EE(enterprise edition)JAVA企业版,用于B/S架构
Java是sun公司研发的产品2009年被Oracle公司收购,这可能是好事情,Oracle继续将Java发扬光大并且会与Oracle有更好的结合
·学习的方法,不管会与不会明白与否硬着脑袋往下看,不会的就跳过,不要看书都看明白以后再去敲代码,因为等你搞明白原理后那都是N久以前了,还不如先往下看一边看一遍敲代码.最后会问题会迎刃而解的.
·Google是最好的老师
·兴趣也是最好的老师
我的第一个程序当然也是“Hello word”
public class test
{
    public static void main(String[] args)
    {
        System.out.printl("Hello word");
        //这是单行注释
        /*这是多行注释
           这是多行注释
            这是多行注释*/   
    }
}
然后再命令行窗口执行
javac test.java
java test
输出 Hello word
public class test 这里类的名字也可以随便写,如果文件名字与这个“类”名字不一样,就会报错:“类是公共的...”
可以把 public 去掉,亦或者将文件名与这个类名字定义为相同
程序都有一个叫“变量”的东西(我了解shell程序shell有系统变量自定义变量预定义变量环境变量等等)
·变量:就是可以变化的“量”,与之相对的是“常量”,常量的值不能变化.
变量命名:字母 _ 数字 $ 但是不能以“数字开头”否则程序就会报错
·JAVA数据类型有2中:“Java基本数据类型”和“引用类型(对象类型)”
Java基本数据类型有8中
int (integer)整型            (32位长度)
byte                   型            (8位长度,表示-128~127之间的整数)
short           短整型            (16位)
long            长整形            (64位)
float            单精度浮点型  (就是小数)
double        双精度浮点型  (就是小数比单精度更精确,JAVA默认浮点型就是double型)
char            字符型            (字符顾名思义就是“a 1 你” 等等都属于字符,而且这里是单个字符加,char变量值需要“单引号”)
Boolean       布尔类型        (Boolean值众所周知只有2个结果“true”和“false”)
·变量声明与赋值2中方法:
1) 变量类型 变量名;     eg:  int arg;
    变量名 = 变量值;           arg = 1;
2) 变量类型 变量名 = 变量值;  eg: int arg = 1;
-------------------------------------------------------------------------------------------------------------------------------------------------
基本数据类型使用陷阱
····
变量float a = 1.2;在程序中是不能正确输出的,因为1.2是浮点型默认为double类型,而这里是赋给了float类型所以不可以要出错,这样必须强制赋值给float有2中方法!
1)float a = (float) 1.2; //括号里边的float意为临时将1.2转换为float类型
2)  float a = 1.2F; //这里F可以为大写也可以为小写
····
public class test
{
    public static void main(String[] args)
    {
        int a = 5; //为变量a赋值为5
        short b = a; //将变量a的值也就是5赋给b
        System.out.println(b);
    }
}
此程序会报错“损失精度”原因是 先执行int再执行short,因为int类型为32位长度而short类型为16位长度,16位长度小于32位长度,其实就是大范围能包含小范围而小范围包含不了大范围.所以short16位长度包含不了int32位长度就出错了!
解决方法:
和上边一样强制转换
int a = 5;
short b = (short) a;
或者:
当然就是大范围包含小范围
shor a = 5; //小范围先执行了
int b = a; //将小范围的值赋值给大范围的了,当然大范围可以包含小范围
---------------------------------------------------------------------------------------------------------------------------------------------------

 

·当有若干个变量参与运算时,结果类型取决于类型范围大的为值

 int a = 1;

double b = 2.3;

double c = a * b; //因为类型值为double,而double类型长度大于int类型

System.out.println(c); //结果为double类型

 

Int a = 1;

Int b = 2;

double c = a / b; //因为double类型大于int类型所以肯定能赋值

System.out.println(c); //结果为0.0 因为a和b都是int类型无法计算出小数

 

Int a = 1;

Int b = 2;

Int c = a / b; //这里int与int运算,结果c也是int类型,必须可以

System.out.println(c); \\但是结果当然为int类型表示不了小数就是一个0

 

Int a = 1;

Int b = 2;

double c = a / (double)b; //c结果为doubule类型,a为int类型,b强制为double类型, 整型(int)与小数(double)运算,结果当然为小数(double)

System.out.println(c); //输出值为0.5

 

·求模 %

Int a = 3;

Int b = 2;

Int c = a % b

System.out.println(c); //结果1

 

Int a = 3;

Int b = -2;

System.out.println(c); //结果为1,除数为负数的时候值依然是正数

 

Int a = -3;

Int b = 2

System.out.println(c); //结果为 -1,被除数为负数的时候值才会为负数

 总结:求模计算中,当被除数为正数时候不管除数为正还是负结果都为正数,只有当被除数为负数的时候,结果才为负数。

 

·运算符

1.关系运算符

> 大于

< 小于

== 等于

!= 不等于

>= 大于等于

<= 小于等于

2.逻辑运算符,逻辑运算符会返回Boolean值

&& (and)逻辑与 当前一个运算与后一个运算结果都为true结果才为true否则结果为false

||  (or)逻辑或 当前一个运算与后一个运算结果只要有一个为true结果就为true当然前一个和后一个结果都为true结果更是true,除非2个都为false结果才是false

!  (not)逻辑非 当然意思就是非(不是的意思)

Xor 逻辑异或当前一个结果与后一个结果都为true,结果为false

`java程序执行顺序是自上而下自左而右当然都是这样了,逻辑与(&&)如果第一个结果为false当然也没有必要检测后一个结果,后一个不会去检测了,结果为false。逻辑或(||)当第一个为true时当然不论后一个是true还是false结果都会是true所以逻辑或检测到第一个运算结果为true时候就不在继续运算后便的结果,结果为值就是true

3.变量的自增自减

Public class ja

{

         Public staticvoid main(String[] args)

         {

         Int a = 1;

         int c = a + 1; //变量a结果加1赋值给了c

         System.out.println(c); //这里结果就是2了

          }

}

 

关于给变量a+1这个问题有4中方法

a = a + 1; //就是a加上1再赋值给a,这样a就增加1

a +=1; // 这样方法更简洁,也可以a+=2就是a加2再赋值给a

a++; //这样的方法最简洁但是不能加2只能这样结果就是a加1

++a; //这个和上边的一样,不同的就是 1加a再赋值给a,结果一样过程不一样

a = a + 1和a+=1这样的表达方式更灵活,比如可以写成a = a * 5 或者 a*=5 都可以但是a**这样就是不对的了!

 

===============================================================================================================================

 

·三元表达式

三元我的理解就是有三个meta元字符符号

·type a = b < c ? d : e;

  类型为a的变量,赋值, 一个判断如果b小于c就将d赋值给a,否则将e赋值给a

-------------------------------------------------------------------------------------------------------------

publicclass abc

{

         public static void main(String[] args)

         {

                   int b = 1;

                   int c = 2;

                   int d = 3;

                   int e = 4;

                   int a=b<c?d:e;

                            System.out.println(e);

}

}

-------------------------------------------------------------------------------------------------------------

·条件语句

·if语句

1)

if (       )      //if条件判断 ()括号里边的是一个boolean判断,如果为真则执行大括号内操

        //的操作否则不执行,若有else则执行else中的内容

{

         //这里边是要执行的程序内容

}

else  //否则的意思

{

         //这里边是要执行的程序内容

}

 

2)

if (     )        //第一次判断,如果判断为真,则执行大括号内容,则不往下判断到此结束!

{

         //执行的内容

}

else if (     )        //再次判断

{

         //要执行的内容

}

else if (     )        //还要判断

….     /继续判断

…      //这里可以有多个else if

..       //第n次判断

else  //否则执行。出现else就是一个if完整判断的结尾了

{

         //否则则执行这里的内容

}

 

举例:

1)

--------------------------------------------------------------------------------------------------------------------

publicclass if1

{

         public static void main(String[] args)

         {

         inta = 1;

        

         if(a == 1) //切记住这里没有;分号

         {

         System.out.println(“avalues is 1”);

}

else

{

         System.out.println(“don’tknow a values”);

}

}

}

------------------------------------------------------------------------------------------------------------------------

2)

-------------------------------------------------------------------------------------------------------------------------

publicclass if2

{

         public static void main(String[] args)

         {

                   int a = 1;

                  

                   if (a == 520)

                   {

 

         System.out.println(“hello1”);

}

else if (a == 1)

{

         System.out.println(“hello2”);

}

else

{

         System.out.println(“IDON’T KNOW!!!”)

}

}

}

 

----------------------------------------------------------------------------------------------------------------------------

 

·switch语句

switch(变量)    //括号里边是一个变量

{

         case 值1:    //匹配值1则执行下面操作,如果匹配则不执行下面的操作到此结束

                   // 执行的操作;

                   break;       //表示操作结束

         case 值2:   

                   //执行的操作;

                   break;

….     //

…      // 可以有很多case

..       //

         default:    //如果以上都没有找到匹配的,则执行default

                   //执行的默认操作

                   break;

}

 

switch语句中case执行完操作接着不写break;也能继续操作,但是这样就没有语句的判断作用了,因为不论结果是真还是假都会一路往下执行了.

 

举例:

----------------------------------------------------------------------------------------------------------------------

publicclass sw

{

         public static void main(String[] args)

                   int a = 2;

                   switch(a)

                            {

                                     case 1:     //主意这里用 : 冒号结尾

                                               System.out.println(“avalues 1”);

                                               break;

                                     case 2:

                                               System.out.println(“ILOVE JAVA”);

                                               break;

                                     default:

                                               System.out.println(“GOODGOOD!!!”);

                                    

                           }

}

 

----------------------------------------------------------------------------------------------------------------------

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值