VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > 编程开发 > Java教程 >
  • java学习笔记day1

Java 基础语法

一个 Java 程序可以认为是一系列对象的集合,而这些对象通过调用彼此的方法来协同工作。下面简要介绍下类、对象、方法和实例变量的概念。

  • 对象:对象是类的一个实例,有状态和行为。例如,一条狗是一个对象,它的状态有:颜色、名字、品种;行为有:摇尾巴、叫、吃等。
  • :类是一个模板,它描述一类对象的行为和状态。
  • 方法:方法就是行为,一个类可以有很多方法。逻辑运算、数据修改以及所有动作都是在方法中完成的。
  • 实例变量:每个对象都有独特的实例变量,对象的状态由这些实例变量的值决定。

基本语法

编写 Java 程序时,应注意以下几点:

  • 大小写敏感:Java 是大小写敏感的,这就意味着标识符 Hello 与 hello 是不同的。
  • 类名:对于所有的类来说,类名的首字母应该大写。如果类名由若干单词组成,那么每个单词的首字母应该大写,例如 MyFirstJavaClass 。
  • 方法名:所有的方法名都应该以小写字母开头。如果方法名含有若干单词,则后面的每个单词首字母大写。
  • 源文件名:源文件名必须和类名相同。当保存文件的时候,你应该使用类名作为文件名保存(切记 Java 是大小写敏感的),文件名的后缀为 .java。(如果文件名和类名不相同则会导致编译错误)。
  • 主方法入口:所有的 Java 程序由 public static void main(String[] args) 方法开始执行。

Java 标识符

Java 所有的组成部分都需要名字。类名、变量名以及方法名都被称为标识符。

关于 Java 标识符,有以下几点需要注意:

  • 所有的标识符都应该以字母(A-Z 或者 a-z),美元符($)、或者下划线(_)开始
  • 首字符之后可以是字母(A-Z 或者 a-z),美元符($)、下划线(_)或数字的任何字符组合
  • 关键字不能用作标识符
  • 标识符是大小写敏感的
  • 合法标识符举例:age、$salary、_value、__1_value
  • 非法标识符举例:123abc、-salary

Java修饰符

像其他语言一样,Java可以使用修饰符来修饰类中方法和属性。主要有两类修饰符:

  • 访问控制修饰符 : default, public , protected, private
  • 非访问控制修饰符 : final, abstract, static, synchronized

在后面的章节中我们会深入讨论 Java 修饰符。

 

Java 变量

Java 中主要有如下几种类型的变量

  • 局部变量
  • 类变量(静态变量)
  • 成员变量(非静态变量)

一、变量

1.1 什么是变量?

变量:表示数据在内存中内存地址,变量对应的数据是可以改变

1.2 如何使用变量?

  • 申明变量(申请内存地址)

    • 数据类型 变量名; int a;

  • 变量初始化(变量赋值)

    • 变量名 = 值; a = 10;

  • 使用变量

    • System.out.println(a);

复制代码
public class Demo01{    
    public static void main(String[] args){
        /*
            //方式1:      
            //1、申明变量

            int a;
            //2、变量赋值

            a = 10;
            //3、使用变量

            System.out.println(a);      
        */
        /*
            //方式2:

            //1、申明变量申明变量和变量初始化

            int a = 10;
            //2、使用变量

            System.out.println("a的值为:"+a);
        */
        
        //方式3:

        
        //连续定义多个变量     int a; int b; int c = 10;
        int a,b,c = 10;
        
        // System.out.println("a的值为:"+a); 错误代码
        System.out.println("c的值为:"+c);  
        
        //注意:在java中变量一定要初始化才能使用
    }
}
复制代码

 

注意:在java中变量一定要初始化才能使用

1.3 变量的命名规范

  • 只能是数字、字母、下划线、美元$符号组成

  • 不能使用数字开头

  • 不能使用java中的关键字和保留字

  • 使用驼峰命名法(两个单词以上组成变量)

    • 小驼峰:helloWorld 变量名、方法名

    • 大驼峰: HelloWorld 类名、接口

  • 见名知意

  • java中严格区分大小写

Java 关键字

下面列出了 Java 关键字。这些保留字不能用于常量、变量、和任何标识符的名称。

类别 关键字 说明
访问控制 private 私有的
protected 受保护的
public 公共的
default 默认
类、方法和变量修饰符 abstract 声明抽象
class
extends 扩充,继承
final 最终值,不可改变的
implements 实现(接口)
interface 接口
native 本地,原生方法(非 Java 实现)
new 新,创建
static 静态
strictfp 严格,精准
synchronized 线程,同步
transient 短暂
volatile 易失
程序控制语句 break 跳出循环
case 定义一个值以供 switch 选择
continue 继续
default 默认
do 运行
else 否则
for 循环
if 如果
instanceof 实例
return 返回
switch 根据值选择执行
while 循环
错误处理 assert 断言表达式是否为真
catch 捕捉异常
finally 有没有异常都执行
throw 抛出一个异常对象
throws 声明一个异常可能被抛出
try 捕获异常
包相关 import 引入
package
基本类型 boolean 布尔型
byte 字节型
char 字符型
double 双精度浮点
float 单精度浮点
int 整型
long 长整型
short 短整型
变量引用 super 父类,超类
this 本类
void 无返回值
保留关键字 goto 是关键字,但不能使用
const 是关键字,但不能使用

注意:Java 的 null 不是关键字,类似于 true 和 false,它是一个字面常量,不允许作为标识符使用。

二、数据类型

2.1 基本数据类型

2.2.1 整数类型
类型 所占字节 所占位数 取值范围
byte 1字节 8位 -2^7 ~ 2^7-1
short 2字节 16 -2^15 ~2^15-1
int 4字节 32 -2^31 ~ 2^31-1
long 8字节 64 -2^63 ~ 2^63-1
2.2.2 浮点类型
类型 所占字节 所占位数 取值范围 有效数位
float 4字节 32位 ±3.4E+38 7位
double 8字节 64位 ±1.7E+308 16位
2.2.3 布尔类型
类型 所占字节 所占位数 取值范围
boolean 1字节 8位 true\false
2.2.4 字符类型
类型 所占字节 所占位数 取值范围
char 2字节 16位 0~65535

代码演示

复制代码
public class Demo02{
    public static void main(String[] args){
        /*
            基本数据类型
                整数类型
                    byte  short  int  long
                浮点类型
                    float  double
                布尔类型
                    boolean
                字符类型
                    char            
            引用数据类型
                String、类、接口、数组      
        */
        //定义byte类型的变量
        byte b = 10;
        System.out.println(b);
        // byte b1 = 128; 错误
        // System.out.println(b1);
        
        //定义short类型的变量
        short s = 128;
        System.out.println(s);
        
        //定义int类型的变量
        int i = 1000; 
        System.out.println(i);
        
        //定义int类型的变量
        long l = 364748123123L; 
        System.out.println(l);
        
        
        //定义float类型的变量
        float f = 10.2F;
        System.out.println(f);
        
        float f1 = 9999.9994f;
        System.out.println(f1);
        
        //定义double类型的变量
        double d = 10d;
        System.out.println(d);
        
        double d1 = 12345678910111213.0;
        
        System.out.println(d1);
        
        //boolean类型    真假(一般用条件判断)    true false
        boolean boo = false;
        System.out.println(boo);
        
        //char类型
        /*
            字符:各个国家的文化符号
            字符集:收录了各个国家的字符形成的集合     Unicode万国码

            字符编码:ASCII(美国标准信息交换码)、UTF-8
        
        
            在java字符和字符串是不同的数据类型
            字符必须使用''表示,字符串必须要使用""
            字符可以有三种表示形式:
                    1、字符        'a'   '中'
                    2、数字        97   20 
                    3、十六进制     '\u0041'   100 0001 = 65
        */
        
        char c1 = '中';
        char c2 = 20013;
        char c3 = '\u0041';
        
        System.out.println(c1);
        System.out.println(c2);
        System.out.println(c3);
    }
}
复制代码

 

2.2.5 数据类型细节
  • long类型数据需要在最后添加L

  • float类型数据需要在最后添加F

  • 字符必须使用''表示,字符串必须要使用""

2.2.6 转义字符

转义字符:转变字符原有含义

  • 常见的转义字符

  • 转义字符

复制代码
public class Demo03{    
    public static void main(String[] args){
        //常见转义字符:\n  表示换行    \t表示制表位   \u 表示十六进制
        System.out.println("hello\tworld");
        System.out.println("hello\nworld");
        
        //转义字符
        System.out.println("你\"真棒\"");      
        
        //转义字符  斜杠不能单独使用
        System.out.println("D:\\a\\b");
    }
}
复制代码
 

注意:在java代码注释中不能出现 \

2.2 引用数据类型

String表示引用数据类型

在Java中一切用""包裹起来的类型都是String类型

复制代码
public class Demo04{    
    public static void main(String[] args){
        //String是引用数据类型    类!       
        //在java中一切用""包裹起来的类型都是String类型      
        String name = "cxk";
        String hobby = "打篮球";
        String job = "rapper+java开发";
        System.out.println("姓名为:"+name+"\n爱好为:"+hobby+"\n职业为:"+job);                
    }
}
复制代码
 

三、数据类型转换

3.1 为什么要进行数据类型转换

在Java中要求等号左边和等号右边的类型要一致。如果出现不一致,就需要进行数据类型转换

3.2 自动类型转换

在数据类型兼容的情况下, 小转大就是自动类型转换

自动类型转换也称之为隐式类型转换,即不需要做任何操作

复制代码
public class Demo05{    
    public static void main(String[] args){
        //自动类型转换
        byte b = 19;
        //i的类型为int   b的类型为byte
        int i = b;
        System.out.println(i);
        
        int num1 = 100;
        double num2 = num1;
        System.out.println(num2);
        
        //char类型的自动类型转换
        char c1 = 'a';
        int c2 = c1;
        System.out.println(c2);     
    }
}
复制代码

 

 

3.3 强制类型转换

在数据类型兼容的情况下, 大转小就是强制类型转换

自动类型转换也称之为显式类型转换,需要添加对应语法

语法:(转换类型) 变量

复制代码
public class Demo05{    
    public static void main(String[] args){     
        //强制类型转换
        double n1 = 100;
        //n1的类型为double  n2的类型为int
        int n2 = (int)n1;
        System.out.println(n2);
        
        int c3 = 97;
        char c4 = (char)c3;
        System.out.println(c4); 
        
        //对表达式进行类型转换
        double d1 = 10;
        double d2 = 12;
        int d3 = (int)(d1 + d2);
        System.out.println(d3);     
    }
}
复制代码
 

3.4 数据类型转换注意点

  • 1、boolean不能参与任何数据类型转换

  • 2、基本类型中范围(大小) byte short|char int long float double

  • 3、强制类型转换可能会造成数据丢失

  • 4、数据类型提升

    • 表达式中有double,结果double

    • 有float,结果float

    • 有long,结果long

    • 有int,结果int

    • 有char、byte、short,结果为int

  • 5、在Java中,任何一个整数默认都当做是int类型, 在Java中,任何一个小数默认都是double类型

复制代码
public class Demo05{    
    public static void main(String[] args){
        /*
            数据类型转换的注意点:

                1、boolean不能参与任何数据类型转换
                2、基本类型中范围(大小)  byte  short|char  int  long   float  double
                3、强制类型转换可能会造成数据丢失   
                4、数据类型提升

                    表达式中有double,结果double
                            有float,结果float
                            有long,结果long
                            有int,结果int
                            有char、byte、short,结果为int
                5、在java中,任何一个整数默认都当做是int类型,

                   在java中,任何一个小数默认都是double类型                
        */
        
        int m1 = 129; //0000 0000 0000 0000 0000 0000 1000 0001
        byte m2 = (byte)m1;
        System.out.println(m2);
        
        double m3 = 10.2;       
        int m4 = (int)m3;
        System.out.println(m4);
        
        
        short s1 = 1;
        short s2 = 1;
        //short s3 = s1 + s2; 错误
        //System.out.println(s3);
        
        char x1 = 'a';
        System.out.println(x1+1);
        
    }
}
复制代码
 

四、运算符

4.1 算术运算符

+   -   *    /    %    ++  --
复制代码
public class Demo06{
    public static void main(String[] args){
        //算术运算符
        
        /*
            问题1:

                +号在java中有两个作用:1、字符串的拼接  2、加法运算

                字符串拼接的时候,任何类型与字符串拼接最终的结果是字符串类型
            问题2:

                /和%可以求得数字上的各个数位
            
            问题3:

                ++表示自身+1
                --表示自身-1
                
                ++在前,先加+1再使用

                ++在后,先使用再加+1
        */
        
        int a = 10;
        int b = 20;
        System.out.println(a+b);
        System.out.println(a-b);
        System.out.println(a*b);
        System.out.println(a/b);
        System.out.println(a%b);
        
        System.out.println("hello"+1+2); //hello12
        System.out.println(1+2+"hello"); //3hello
        System.out.println(1+2+"hello"+3+4);//3hello34
        
        int c = 34;
        //获取c这个数据中的十位
        System.out.println(c/10);
        //获取c这个数据中的个位
        System.out.println(c%10);
​

​

        int d = 10;
        d++; //d = d + 1;       
        System.out.println(d); //11
        ++d;
        System.out.println(d); //12
        
        System.out.println(d++); //12    13
        System.out.println(++d); //14  
//int x = 10, int y = 8;   x++ - --x + y-- + x++ - --y = ?
        int x = 10; int y = 8;
        System.out.println(x++ - --x + y-- + x++ - --y);
        
        /*
            x=11  y=6
            x++ - --x + y-- + x++ - --y
            10 - 10 + 8 + 10 - 6        
        */
    }
}
复制代码

	

4.2 赋值运算符

=    +=   -=   *=    /=   %=
 View Code

	

4.3 关系运算符

>    <      >=      <=       !=      ==
复制代码
public class Demo08{
    public static void main(String[] args){
        //关系运算符   结果:boolean类型
        int a = 10;
        int b = 20;
        System.out.println(a > b);
        System.out.println(a >= b);
        System.out.println(a < b);
        System.out.println(a <= b);
        System.out.println(a == b);
        System.out.println(a != b);
        
        //整除条件 
        //偶数条件: a % 2 == 0
        //奇数条件: a % 2 != 0      
    }
}
复制代码

 

4.4 逻辑运算符

&&    ||    !
复制代码
public class Demo09{
    public static void main(String[] args){
        //逻辑运算符   结果:boolean类型
        
        
        /*
            
            &&:所有的结果为true,最终结果才是true
                短路与:只要有一个结果为false,就不会执行后面的表达式

            ||:所有的结果只要有一个为true,最终结果就是true
                短路或:只要有一个结果为true,就不会执行后面的表达式

            !: 对结果进行取反

            
            &:  无论结果如何都会执行完整个表达式
            |:  无论结果如何都会执行完整个表达式
        */
        int a = 17;
        //问a是否是一个偶数且大于10
        //boolean bool = a % 2 == 0 && a > 10;
        System.out.println(a % 2 == 0 && a > 10);
        System.out.println(a % 2 == 0 & a > 10);
        
        //问a是否是一个奇数数或小于15
        System.out.println(a % 2 != 0 || a < 15);
        System.out.println(a % 2 != 0 | a < 15);
        
        //问:a是否是一个奇数
        System.out.println(!(a % 2 == 0));
        
        //&的用法
        int b = 10;
        int c = 12;
        boolean bool2 = b++ > c-- & b-- == 10;
        System.out.println(b);
    }
}
复制代码

	

4.5 三目运算符

boolean类型表达式 ? 结果1 : 结果2;
复制代码
public class Demo10{
    public static void main(String[] args){
        //三目运算符 
        /*
            boolean类型表达式 ? 结果1 : 结果2;       
        */
        //判断年龄如果大于18岁,输出成年人,否则输出未成年人
        int age = 70;       
        String s = age > 18 ? "成年人" : "未成年人";       
        System.out.println(s);
        
        //a和b   输出较大的那个数字
        int a = 10;
        int b = 20;
        int num = a > b ? a : b;
        System.out.println(num);
        
        
        //三目运算符嵌套使用

        //判断年龄如果大于18岁,输出成年人,但是如果大于60岁,输出老年人,否则输出未成年人
        String s1 = age > 18 ? age > 60 ? "老年人": "成年人" : "未成年人";
        System.out.println(s1);
    }
}
复制代码

 



出处:
https://www.cnblogs.com/zkxjava/p/15808437.html

相关教程