新手学java(1)

文章目录


前言

java初学者第一周学习成果与总结


一.Java的基础语法                   

             1.注释:             (1)注释概述:注释在指定位置添加的说明性信息

                                                             注释不参与程序的运行,仅起到说明作用

                                    (2注释分类:单行注释——格式://注释信息

                                                            多行注释——格式:/*注释信息*/

                                                            文档注释——格式:/**注释信息*/

              2.对象

              1.对象与类对象:对象是类的一个实例,有状态和行为。
                                   :类是一个模板,它描述一类对象的行为和状态

               2构造方法.:

每个类都有构造方法。如果没有显式地为类定义构造方法,Java 编译器将会为该类提供一个默认构造方法。

在创建一个对象的时候,至少要调用一个构造方法。构造方法的名称必须与类同名,一个类可以有多个构造方法。

               3.创建对象: 

  •  声明:声明一个对象,包括对象名称和对象类型。
  •  实例化:使用关键字new来创建一个对象。
  •  初始化:使用new创建对象时,会调用构造方法初始化对象。                                                   例子:
    public class Puppy{
       public Puppy(String name){
          //这个构造器仅有一个参数:name
          System.out.println("小狗的名字是 : " + name ); 
       }
       public static void main(String[] args){
          // 下面的语句将创建一个Puppy对象
          Puppy myPuppy = new Puppy( "tommy" );
       }
    }

                4.源文件规则

    1.一个源文件中只能有一个 public 类
    2.一个源文件可以有多个非 public 类
    3.源文件的名称应该和 public 类的类名保持一致。例如:源文件中 public 类的类名是 Employee,那么源文件应该命名为Employee.java。
    4.如果一个类定义在某个包中,那么 package 语句应该在源文件的首行。
    5.如果源文件包含 import 语句,那么应该放在 package 语句和类定义之间。如果没有 package 语句,那么 import 语句应该在源文件中最前面。
    6.import 语句和 package 语句对源文件中定义的所有类都有效。在同一源文件中,不能给不同的类不同的包声明。
    类有若干种访问级别,并且类也分不同的类型:抽象类和 final 类等。这些将在访问控制章节介绍。

    除了上面提到的几种类型,Java 还有一些特殊的类,如:内部类、匿名类

        3.基本数据类型

序号数据类型大小/位可表示的数据范围默认值
1long(长整数)64-9223372036854775808~92233720368547758070L
2int(整数)32-2147483648~21474836470
3short(短整数)16-32768 ~ 32767(short)0
4double(双精度)64-1.7E308 ~ 1.7E3080.0d
5byte(位)8-128 ~ 127(byte)0
6char(字符)160 ~ 255\u0000(空,“”)
7float(单精度)32-3.4E38 ~ 3.4E380.0f
8boolean(布尔)true 或 falseFalse

        转义字符:

序号转意字符描述序号转意字符描述
1\f换页5\r归位
2\ \反斜线6\ "双引号
3\b倒退一格7\t制表符 Tab
4\ ’单引号8\n换行

           数据转换   一 .自动转化:

在 Java 中如果已经定义好了一个变量,在使用过程中如果需要另一种数据类型表示时,Java 会在下面的条件成立的时候会自动做数据类型转换。

     1 .转换前和转换后的数据类型是兼容的。
     2 . 转后后的数据类型表示的范围比转换前的数据类型范围要大。

                              二 .强制转换:强制类型转换也叫显示类型转换。前提是两个数据类型要兼容的。他可以分为扩大转换和缩小转换。如果是缩小转换,那么会将数据的精度丢失。强制类型转换需要在数据前将数据类型给出进行强制转换,从大范围到小范围的数据转换的时候,会将数据精确度丢失。(小数默认是 double 类型浮点型,在定义 float 类型时必须在数字后面跟上 F 或者 f。定义double类型可以不带d/D)

         4.JAVA变量类型         Java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域。

局部变量(Local Variables):定义在方法、构造方法或语句块中的变量,作用域只限于当前方法、构造方法或语句块中。局部变量必须在使用前声明,并且不能被访问修饰符修饰。

成员变量(Instance Variables):定义在类中、方法之外的变量,作用域为整个类,可以被类中的任何方法、构造方法和语句块访问。成员变量可以被访问修饰符修饰。

静态变量(Class Variables):定义在类中、方法之外的变量,并且使用 static 关键字修饰,作用域为整个类,可以被类中的任何方法、构造方法和语句块访问,静态变量的值在程序运行期间只有一个副本。静态变量可以被访问修饰符修饰。

参数变量(Parameters):方法定义时声明的变量,作为调用该方法时传递给方法的值。参数变量的作用域只限于方法内部。

一、类变量(静态变量)
类变量在类里定义,声明变量时,在变量类型前面加上 static 即可,但必须在方法之外。
类变量有默认值,数值型变量默认值是
0(或者0.0),布尔型默认值是 false,引用类型默认值是 null。
类变量可以直接在该类的方法里使用。

二、实例变量(成员变量)
     实例变量声明在一个类中,但在方法、构造方法和语句块之外 。
     实例变量具有默认值。数值型变量的默认值是0(或者0.0),布尔型变量的默认值是false,引       用类型变量的默认值是null。
    实例变量
从属于对象

     当一个对象被实例化之后,每个成员变量的值就跟着确定。
     成员变量在对象创建的时候创建,在对象被销毁的时候销毁。
     成员变量的值应该至少被一个方法、构造方法或者语句块引用,使得外部能够通过这些方式获取实例变量信息。
     成员变量可以声明在使用前或者使用后。
     访问修饰符可以修饰成员变量。
      成员变量对于类中的方法、构造方法或者语句块是可见的。一般情况下应该把成员变量设为私有。通过使用访问修饰符可以使成员变量对子类可见。

public class RunoobTest {
    // 成员变量
    private int instanceVar;
    // 静态变量
    private static int staticVar;
    
    public void method(int paramVar) {
        // 局部变量
        int localVar = 10;
        
        // 使用变量
        instanceVar = localVar;
        staticVar = paramVar;
        
        System.out.println("成员变量: " + instanceVar);
        System.out.println("静态变量: " + staticVar);
        System.out.println("参数变量: " + paramVar);
        System.out.println("局部变量: " + localVar);
    }
    
    public static void main(String[] args) {
        RunoobTest v = new RunoobTest();
        v.method(20);
    }
}

三、局部变量
局部变量声明在方法、构造方法或者语句块中。
局部变量没有默认值。所以局部变量被声明后,必须经过初始化,才可以使用。
局部变量只能在自己的方法中被使用。

四、常量
常量:初始化之后不会再变动的值。

常量名一般使用大写字符。

常量也是与类相关的,但它是用 final 关键字修饰的变量,一旦被赋值就不能再修改。与静态变量不同的是,常量在编译时就已经确定了它的值,而静态变量的值可以在运行时改变。另外,常量通常用于存储一些固定的值,如数学常数、配置信息等,而静态变量通常用于存储可变的数据,如计数器、全局状态等。

总之,静态变量是与类相关的变量,具有唯一性和共享性,可以用于存储整个程序都需要使用的数据,但需要注意初始化时机和与常量的区别。

成员变量局部变量静态变量
定义位置在类中,方法外方法中,或者方法的形式参数在类中,方法外
初始化值有默认初始化值无,先定义,赋值后才能使用有默认初始化值
调用方式有默认初始化值---对象调用,类名调用
储存位置堆中栈中方法区
生命周期与对象共存亡与方法共存亡与类共存亡
别名实例变量---类变量

5.Java修饰符

一  访问运算符

Java中,可以使用访问控制符来保护对类、变量、方法和构造方法的访问。Java 支持 4 种不同的访问权限。

default (即默认,什么也不写): 在同一包内可见,不使用任何修饰符。使用对象:类、接口、变量、方法。

private : 在同一类内可见。使用对象:变量、方法。 注意:不能修饰类(外部类)

public : 对所有类可见。使用对象:类、接口、变量、方法

protected : 对同一包内的类和所有子类可见。使用对象:变量、方法。 注意:不能修饰类(外部类)

(  如果在类、变量、方法或构造函数的定义中没有指定任何访问修饰符,那么它们就默认具有默认访问修饰符。非

默认访问修饰符的访问级别是包级别(package-level),即只能被同一包中的其他类访问。)

二  非访问运算符

static 修饰符,用来修饰类方法和类变量。

final 修饰符,用来修饰类、方法和变量,final 修饰的类不能够被继承,修饰的方法不能被继承类重新定义,修饰的变量为常量,是不可修改的。

abstract 修饰符,用来创建抽象类和抽象方法。

synchronized 和 volatile 修饰符,主要用于线程的编程。

二.java运算

                1.算数运算符

操作符描述例子
+加法 - 相加运算符两侧的值A + B 等于 30
-减法 - 左操作数减去右操作数A – B 等于 -10
*乘法 - 相乘操作符两侧的值A * B等于200
/除法 - 左操作数除以右操作数B / A等于2
取余 - 左操作数除以右操作数的余数B%A等于0
++自增: 操作数的值增加1B++ 或 ++B 等于 21
--自减: 操作数的值减少1B-- 或 --B 等于 19

                2.关系运算符

运算符描述例子
==检查如果两个操作数的值是否相等,如果相等则条件为真。(A == B)为假。
!=检查如果两个操作数的值是否相等,如果值不相等则条件为真。(A != B) 为真。
检查左操作数的值是否大于右操作数的值,如果是那么条件为真。(A> B)为假。
检查左操作数的值是否小于右操作数的值,如果是那么条件为真。(A <B)为真。
>=检查左操作数的值是否大于或等于右操作数的值,如果是那么条件为真。(A> = B)为假。
<=检查左操作数的值是否小于或等于右操作数的值,如果是那么条件为真。(A <= B)为真。

                3.位运算符

操作符描述
如果相对应位都是1,则结果为1,否则为0
|如果相对应位都是 0,则结果为 0,否则为 1
^如果相对应位值相同,则结果为0,否则为1
按位取反运算符翻转操作数的每一位,即0变成1,1变成0。
<< 按位左移运算符。左操作数按位左移右操作数指定的位数。
>> 按位右移运算符。左操作数按位右移右操作数指定的位数。
>>> 按位右移补零操作符。左操作数的值按右操作数指定的位数右移,移动得到的空位以零填充。

                4.赋值运算符

操作符描述例子
=简单的赋值运算符,将右操作数的值赋给左侧操作数C = A + B将把A + B得到的值赋给C
+ =加和赋值操作符,它把左操作数和右操作数相加赋值给左操作数C + = A等价于C = C + A
- =减和赋值操作符,它把左操作数和右操作数相减赋值给左操作数C - = A等价于C = C - A
* =乘和赋值操作符,它把左操作数和右操作数相乘赋值给左操作数C * = A等价于C = C * A
/ =除和赋值操作符,它把左操作数和右操作数相除赋值给左操作数C / = A,C 与 A 同类型时等价于 C = C / A
(%)=取模和赋值操作符,它把左操作数和右操作数取模后赋值给左操作数C%= A等价于C = C%A
<< =左移位赋值运算符C << = 2等价于C = C << 2
>> =右移位赋值运算符C >> = 2等价于C = C >> 2
&=按位与赋值运算符C&= 2等价于C = C&2
^ =按位异或赋值操作符C ^ = 2等价于C = C ^ 2
| =按位或赋值操作符C | = 2等价于C = C | 2

                5.逻辑运算符

操作符描述
&&称为逻辑与运算符。当且仅当两个操作数都为真,条件才为真。
| |称为逻辑或操作符。如果任何两个操作数任何一个为真,条件为真。
称为逻辑非运算符。用来反转操作数的逻辑状态。如果条件为true,则逻辑非运算符将得到false。

                6.运算符优先级

类别操作符关联性
后缀() [] . (点操作符)左到右
一元expr++ expr--从左到右
一元++expr --expr + - ~ !从右到左
乘性 * /%左到右
加性 + -左到右
移位 >> >>>  << 左到右
关系 > >= < <= 左到右
相等 ==  !=左到右
按位与左到右
按位异或^左到右
按位或|左到右
逻辑与&&左到右
逻辑或| |左到右
条件?:从右到左
赋值= + = - = * = / =%= >> = << =&= ^ = | =从右到左
逗号左到右

                


总结

以上就是一周对Java的学习与初步了解,但对于以上内容并不能完全掌握,甚至还看不懂,还需反复重温,思考。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值