Java 0基础学java第一阶段

目录

一.Java程序开发(编写、编译、运行)

二.Java数据类型

三.Java各种数据类型代码编写

1.整数类型

2. 浮点类型

3. boolean型

 4.字符型

四.常量与变量及注释的用法

1.常量定义

2.变量定义

3.注释写法

五.算术运算符 

六. 关系运算符

1.算数运算符:==,!=, <,  >,  <=,  >=;

2.逻辑运算符:&&,  ||,  !

3.位运算符:&,  |

4.赋值运算符:=, <<=,  >>=

七.类型转换

1.自动类型转换

2.强制类型转换 

 3.转换其他注意事项

八.结束语,环境的搭建的备注(无过程)

一.Java程序开发(编写、编译、运行)

public class StudyJava{

     public static void main(String[] args){

       System.out.println("study java is happy");

     }

}
//这是固定的形式

其中各参数含义如下:

main——入口方法名称;

args——命令行参数,这是一个String对象数组;

static——修饰符,说明main()是一个静态方法(类方法);

public——修饰符,说明main()具有公有访问属性。

输出的格式固定

System.out.println("study java is happy");

System.out.println("输出值为"+age);   //输出变量值加号必须写哈,但是位置不固定

System.out.println(age"+为输出值"); 

System.out.println(age+"-->"+age1); //加号必须写哈

二.Java数据类型

一共分为基本数据类型和引用数据类型

1.Java基本数据类型共有八种,基本数据类型可以分为三类:

字符类型char;

布尔类型boolean;

数值类型byte、short、int、long、float、double。

        数值类型又可以分为整数类型byte、short、int、long,和浮点数类型float、double。

2.引用数据类型:类,接口,数组。

3.JAVA中的数值类型不存在无符号的,它们的取值范围是固定的,不会随着机器硬件环境或者操作系统的改变而改变。

三.Java各种数据类型代码编写

1.整数类型

整数类型含byte、short、int、long

package com.onlyone;

public class integer{//整数类型
        public static void main(String[] args){
            byte money=2;//注意范围,不能超过byte所规定的范围
            short age=298;//定义一个short类型的变量age,变量值为298
            int teacheAge=30;//定义一个int类型的变量teacheAge,变量值为30
            long sales=123456;//定义一个long类型的变量sales,变量值为123456
            System.out.println("byte型变量money的值:"+money);
            System.out.println("short型变量money的值:"+age);
            System.out.println("int型变量money的值:"+teacheAge);
            System.out.println("long型变量sales的值:"+sales);
        }
}
2. 浮点类型

浮点数类型含float、double

package com.onlyone;

public class  decimal{//浮点类型
    public static void main(String[] args){
        float money=1025453.96f;//定义一个float类型的变量money,变量值为1025453.96
        double weight=58.123;//定义一个double类型的变量weight,变量值为58.123
        System.out.println("资产为"+money);
        System.out.println("体重为"+weight);
    }
}
3. boolean型
package com.onlyone;

public class boo {//boolean型
    public static void main(String[] args){
        boolean boo = true;//只有true和false两种结果
        System.out.println("boo的值为"+boo);
    }
}
 4.字符型
package com.onlyone;


public class character{//字符型
    public static void main(String[] args) {
        char sex='男';
      
        System.out.println("性别为"+sex);

    }
}

四.常量与变量及注释的用法

1.常量定义

final来定义,形式就是为final int AGE = 34;一般我们用全大写来表示这个是常量。

常量在程序运行时是不能被修改的,在 Java 中使用 final 关键字来修饰常量。

package com.onlyone;

import java.security.AlgorithmParameterGenerator;

public class constant {//常量
    public static void main(String[] args) {
        final int AGE = 34;
        //定义一个int型的局部常量AGE,值为34,大写。值不能改变。
        System.out.println("年龄为:"+AGE);
    }
}
2.变量定义

有全局变量和局部变量,一开始做简单了解即可

static int Age=23;//全局变量格式,

int age=23;//局部变量必须手动赋值,因为局部变量用来临时保存数据(在类的方法中定义),只能在当前方法中使用,没有初始值,所以必须赋值,在该方法当中不可以出现拥有相同名称的局部变量

package com.onlyone;

public class variable {//变量
    static int Age=23;//全局变量
    public static void main(String[] args){
        //定义一个表示年龄的变量age,值为23
        int age=23;//局部变量必须手动赋值

        //有实际意义
        //改变变量age的值
        age=31;
        Age=24;
        System.out.println("年龄为:"+age);
        System.out.println("年龄为:"+Age);
    }
}
3.注释写法

有两种写法

第一种可以写多行的,在/*与*/之间写注释,一般用在类、方法和变量上面,用来描述其作用。

第二种在//后面写注释

package com.onlyone;

/**
 * @Aron  表示人名
 * @since 2024.1.3  时间
 * @version  版本
 */
public class explanatory {//注释的用法
    public static void main(String[] args){
    //定义一个变量age1,值为34;
        byte age1=34;
    //定义一个变量age2,值为22;
        byte age2=22;//
        /*
        定义一个变量age1,值为34;
        定义一个变量age2,值为22;
         */

    }
}

五.算术运算符 

包含+, -, * ,/ ,%, ++, --

全部运算综合到了一个代码中,大家可以看看

public class arithemetic {
    public static void main(String[] args){
        int num1=46;
        int num2=23;

        //求和运算
        int num3=num1+num2;
        System.out.println("两个数的和为:"+num3);

        //求差运算
        int num4=num1-num2;
        System.out.println("两个数的差为:"+num4);

        //求积运算
        int num5=num1*num2;
        System.out.println("两个数的积为:"+num5);
        //求商运算
        int num6=num1/num2;
        System.out.println("两个数的商为:"+num6);

        //取模运算
        int num7=num1%num2;
        System.out.println("两个数的余为:"+num7);

        //自增++运算
        int sum=11;
        sum++;//自增1
        System.out.println("sum的值为:"+sum);

        //++运算,++在前在后
        int sum2=++sum;//++在前:先赋值再++
        System.out.println("sum2的值为:"+sum2);
        int sum3=sum++;
        System.out.println("sum3的值为:"+sum3);

        //--运算,--在前在后
        int sum4=--sum;
        System.out.println("sum4的值为:"+sum4);
        int sum5=sum--;
        System.out.println("sum5的值为:"+sum5);
        int a=11;

        //综合运算
        int b=--a + a++ + ++a + a--;
        int c=--a + ++a + ++a + --a;
        System.out.println("b的值为:"+b);
        System.out.println("c的值为:"+c);
    }
}

六. 关系运算符

1.算数运算符:==,!=, <,  >,  <=,  >=;
public class RelationalOperator {//算数运算符
    public static void main(String[] args){
        int num1=23;//定义一个int型的变量,值为23
        int num2=34;
        /*
        执行关系运算符
        等值判断==
         */
        boolean Result1=num1==num2;
        System.out.println("==运算的结果为:"+Result1);
          /*
        执行关系运算符
        不等判断!=
         */
        boolean Result2=num1!=num2;
        System.out.println("!=运算的结果为:"+Result2);
            /*
        执行关系运算符
        大于>
         */
        boolean Result3=num1>num2;
        System.out.println(">运算的结果为:"+Result3);
              /*
        执行关系运算符
        小于<
         */
        boolean Result4=num1<num2;
        System.out.println("<运算的结果为:"+Result4);
                /*
        执行关系运算符
        大于>=
         */
        boolean Result5=num1<num2;
        System.out.println(">=运算的结果为:"+Result5);
                /*
        执行关系运算符
        小于<=
         */
        boolean Result6=num1<=num2;
        System.out.println("<=运算的结果为:"+Result6);

    }
}
2.逻辑运算符:&&,  ||,  !
public class LogicalOperator {//逻辑运算符
    public static void main(String[] args){
        int num1=12;
        int num2=23;
        int num3=31;
        //&&运算:两个都为真结果才为真
        boolean result1=num1<num2&&num3>num2;
        System.out.println("&&运算的结果为:"+result1);
        //||运算:只要有一个为真,则结果为真。且若第一个为真,则第二个不进行判断。
        boolean result2=num1>num2||num3>num2;
        System.out.println("||运算的结果为:"+result2);
        //!运算:取反,非0的取!为0,0取!为1;只可能有两个结果1和0;
        boolean result3=!(num1<num2);
        System.out.println("!运算的结果为:"+result3);
        //综合
        boolean result4=!(num2<num3||num1>num2)&&num3>num2;
        System.out.println("综合运算的结果为:"+result4);
    }
}
3.位运算符:&,  |

内部其实是转化为二进制数再进行比较的,最后也是内部把得到的二进制数再转化为十进制数再输出的。

public class BitwiseOperator {//位运算符
    public static void main(String[] args){
        int num1=7;//0111
        int num2=9;//1001
        //&运算,对应位置都为1,则结果为1;否则都为0。
        int result1=num1&num2;
        System.out.println("&运算的结果为:"+result1);
        //|运算,对应位置都为0,则结果为0;否则都为1。
        int result2=num1|num2;
        System.out.println("|运算的结果为:"+result2);
        //^运算,对应位置相等为0,不等为1
        int result3=num1^num2;
        System.out.println("^运算的结果为:"+result3);//1110=2+4+8=14
    }
}
4.赋值运算符:=, <<=,  >>=

<<=与>>=并不难理解,可以看看代码的注释。

举例:

8 << 1的值为8*2=16;
8<< 2的值为8*(2^2)=32;
8 << n的值为8*(2^n)。

public class Assignment {//赋值运算符
    public static void main(String[] args){
        int num=12;
        int num1=12;
        num1=num;//=赋值
        System.out.println("num1的值为:"+num1);

        int num2=12;
        num2+=num;//+=赋值
        System.out.println("num2的值为:"+num2);

        int num3=12;
        num3-=num;//-=赋值
        System.out.println("num3的值为:"+num3);

        int num4=12;
        num4*=num;//*=赋值
        System.out.println("num4的值为:"+num4);

        int num5=12;
        num5/=num;///=赋值
        System.out.println("num5的值为:"+num5);

        int num6=12;
        num6%=num;//%=赋值
        System.out.println("num6的值为:"+num6);

        int num7=8;
        int num8=2;
        num7<<=num8;//num7=num7<<num8;
        System.out.println("num7的值为:"+num7);
        // x<<=3等于x=x<<3,x乘以2的3次方,再把值传给x
       /*
        8 << 1的值为8*2=16;
        8 << 2的值为8*(2^2)=32;
        8 << n的值为8*(2^n)。
        */
        //左移为乘

        int num9=8;
        int num10=2;
        num9>>=num10;//num7=num7>>num8;
        System.out.println("num9的值为:"+num9);
        //右移为除
        /*
        8 >> 1的值为8/2=4;
        8 >>2的值为8/(2^2)=2;
        8 >> n的值为8/(2^n)
        */
    }
}

七.类型转换

1.自动类型转换

容量大类型转换不能直接转化到小类型,必须进行强制类型转换
低--------->高(低到高可直接转,高到低必须强制类型转化)
byte,short,char--->int--->long--->float---double

public class automatic {//自动类型转换
    public static void main(String[] args) {

        //定义一个byte类型的变量,变量值为10
        byte by=10;
        //定义一个short类型的变量,变量值为20
        short sy=20;
        //定义一个char类型的变量,变量值为B
        char sc='B';

        //上面的变量自动转换成int类型
        int bi1=by;
        int bi2=sy;
        int bi3=sc;
        System.out.println(bi1+"-->"+bi2+"-->"+bi3);

        //上面的变量自动转换成long类型
        long li1=by;
        long li2=sy;
        long li3=sc;
        System.out.println(li1+"-->"+li2+"-->"+li3);

        //上面的变量自动转换成float类型
        float fi1=by;
        float fi2=sy;
        float fi3=sc;
        System.out.println(fi1+"-->"+fi2+"-->"+fi3);

        /*
        1.boolean不能参与转换
        2.容量大类型转换不能直接转化到小类型,必须进行强制类型转换
        低--------->高(低到高可直接转,高到低必须强制类型转化)
        byte,short,char--->int--->long--->float---double
        3.转换过程中可能出现丢失精度或溢出
        4.不能把对象类型转成不相关类的对象,不能把Cat类转成Dog类
         */

    }
}
2.强制类型转换 

格式为 :b = (想要的类型) a;

public class forced {//强制类型转换
    public static void main(String[] args) {

        //定义一个byte类型的变量,变量值为10
        byte by = 10;
        //定义一个int类型的变量,变量值为20
        int sy = 20;
        char cy='A';
        int my=2;
        by=(byte)sy;//强制类型转换
        sy=(byte)cy;
        my=cy;//cy为cahr自动转int然后赋值给my,不用强制类型转换。
        System.out.println("by的值为"+by);
        System.out.println("cy的值为"+cy);
        System.out.println("sy的值为"+sy);//sy的值是:cy为cahr转byte,是强制转换,结果为65
        System.out.println("my的值为"+my);//my的值是:my=cy,cy为cahr转int,是直接转换,结果为65;可以直接输出my=cy,不写 my=(int)cy;

        float fe=123.456f;
        double de;
        de=(double)fe;
        System.out.println("fe的值为"+fe);
        System.out.println("de的值为"+de);

    }
}
 3.转换其他注意事项

1.boolean不能参与转换
2.转换过程中可能出现丢失精度或溢出
3不能把对象类型转成不相关类的对象,不能把Cat类转成Dog类

八.结束语,环境的搭建的备注(无过程)

java的环境需要自行搭建jdk环境,下载idea和navicat并进行激活,步骤比较繁琐,自己激活的步骤太多,而且比较麻烦,尤其是激活navicat。大家想办法搭建,有时间的话我写一个搭建的博客。

简单的方式就是找到安装包和破译版哈哈哈。


         
 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值