资讯专栏INFORMATION COLUMN

Java学习笔记(一)

chengtao1633 / 2836人阅读

摘要:是完全面向对象的语言,对象具有状态行为和标识。类一一是具有共同特征和行为的一类事物的统称。受保护的,对同一包内的类和所有子类可见。一种通用的内存池,用于存放所有对象。类级变量又称全局级变量或静态变量,需要使用关键字修饰。

java语言的基本特点

java语言是面向对象的高级程序设计语言,它是编译型的语言,Java语言不使用指针,并提供了自动的垃圾回收机制,使得程序员不必为内存管理而担忧。java语言支持多线程,使得Java程序能够并行处理多项任务。java还具有动态性、类库丰富、高性能等特点

强类型语言
java不像js那样,Java语言是强类型语言,而且每种类型都要求严格定义。首先,每个变量、表达式都有类型。其次,所有的数值传递,不管是直接的、还是通过方法调用经由参数传递,都要进行类型相容性检查。
高效解释执行
Java为了实现“一次编译,随处运行”的目标,Java 的源程序在编译时,并不直接编译成特定的机器语言程序,而是编译成与系统无关的“字节码(Byte codes)”,由Java 虚拟机(Java Virtual Machine,JVM )来执行
面向对象思想

Java由四方面组成:Java编程语言、Java类文件格式、Java虚拟机和Java应用程序接口(Java API)。

java是完全面向对象的语言,对象具有状态、行为和标识。这意味着每一个对象都可以拥有内部数据和方法。每一个对象在内存中都有一个唯一的地址。

每个对象都有一个接口,程序在执行期间具有不同的状态而其他方面都相似的对象会被分组到对象的类中,这就是关键字class的由来。事实上所有的面向对象程序设计语言都使用class这个关键词来表示数据类型。当看到类型一词时,可将其作为类来考虑,反之亦然。

描述了具有相同特性和行为(功能)的对象集合,所以一个类实际上就是一个数据类型,例如所有的浮点型数字具有相同的特性和行为集合。

JAVA里的类 就好比一个浇注的模具,模具里有怎么制造成品的一些方法 、一个大体的套路。 但是并没有创造任何对象,而在创建对象的时候 应用到Java的类 这样才把模具实体化 创建出一个成品。

  

:一一是具有共同特征和行为的一类事物的统称。是对对象的描述,是创建对象的"模板"

类的特点:
 类是对象的类型
 具有相同属性和方法的一组对象的集合

类型,指由各特殊的事物或现象抽出来的共通点;

对象的特点
对象是具有类 类型的变量。类是对象的抽象,而对象是类的具体实例。类是抽象的,不占用内存,而对象是具体的,占用存储空间。
基本语法

Java语言八种基本数据类型,整数类(byte、short、int、long),文本类(char),浮点类(double,float)和逻辑类(boolean)

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

1.java和js一样,都是对大小写敏感的
2.类名:类名首字母要大写,如果由单词组成,那么每个单词的首字母也要大写
3.方法名:方法名采用驼峰命名格式。
4.源文件名:保存的源文件名必须和类名相同
5.主方法入口:所有的`Java` 程序由`public static void main(String args[])`方法开始执行。
6.标识符:所有的标识符都应该以字母(A-Z或者a-z),美元符($)、或者下划线(_)开始
7.修饰符:可访问修饰符 : `default, public , protected, private`。不可访问修饰符 : `final, abstract, strictfp`

单引号引的数据 是char类型的
双引号引的数据 是String类型的
单引号只能引一个字符
而双引号可以引0个及其以上
局部变量和成员变量

1.成员变量:在类中定义,用来描述对象将要有什么。成员变量又分为 实例变量 和 类变量(static静态变量):

class One{ 
  float x;      //x为实例变量
  static int y; //只要有关键字static,y就为类变量
}

2.局部变量:在类的方法中定义,在方法中临时保存数据

public 返回类型 方法1(){
    变量1类型 变量1;//局部变量
}

局部变量的作用域仅限于定义他的方法
成员变量的作用域在整个类内部都是可见的
访问修饰符

Java支持四种不同的访问权限:

修饰符 说明
public 共有的,对所有类可见。
protected 受保护的,对同一包内的类和所有子类可见。
private 私有的,在同一类内可见。
默认的 在同一包内可见。默认不使用任何修饰符。

注意:protected不能修饰类和接口,接口的成员变量和成员方法不能声明为protected。另外,类和接口不能声明为private

import语句

import语句与C语言中的 #include 有些类似,语法为:

import package1[.package2…].classname;

package 为包名,classname 为类名。例如:

import java.util.Date;  // 导入 java.util 包下的 Date 类

注意:import 只能导入包所包含的类,而不能导入包。

创建对象
 类名 对象名 = new 类名()

通常使用new关键字来创建一个新对象,例如:

//访问修饰符、class关键字和类名
public class Main{
    //主方法入口,void:main()方法是不需要返回值的,static:表明方法是静态的,不依赖类的对象的
    public static void main(String[] args) {//String[] args:定义了一个字符串数组参数
       //创建对象,对象名为test
        Main test = new Main();
    }
}

程序运行时,对象有五个不同的地方可以存储数据:

1):寄存器。这是最快的存储区
2):堆栈。位于通用RAM中,但通过堆栈指针可以从处理器那里获得直接支持。指针若向下移动,则分配新的内存;若向上移动,则释放那些内存。这是一种快速有效的分配存储方法,仅次于寄存器
3):堆。一种通用的内存池,用于存放所有java对象。堆不同于堆栈的好处是编译器不需要知道存储的数据在堆里存活多长时间。

其余两种不做介绍。详情请见:Thinking in java

  System.out.print(" ");向控制台输出" "里面的内容后不换行
  System.out.println(" ");向控制台输出" "里面的内容后换行;
操作数组

数组是一个简单的线性序列,数组具有效率、类型和保持基本类型的能力。数组标识符其实只是一个引用,指向在堆中创建的一个真实对象,这个数组对象用以保存指向其他对象的引用。

Java 中操作数组只需要四个步骤:

1、 声明数组
语法:  数据类型[ ] 数组名;

或者   数据类型 数组名[ ];
2.分配空间

简单地说,就是指定数组中最多可存储多少个元素

语法:  数组名 = new  数据类型 [ 数组长度 ];
3、 赋值

分配空间后就可以向数组中放数据了,数组中元素都是通过下标来访问的

4、 处理数组中数据

我们可以对赋值后的数组进行操作和处理,如获取并输出数组中元素的值

public class Main{
    public static void main(String[] args) {
        double list[] = {2.0,13.1,3.1,0.5,1.1};
        //输出所有数组元素
        for(double element:list){//冒号:其实就是映射
            System.out.println(element);
        }
    }
}
二维数组

1.声明数组并分配空间

数据类型[][] 数组名 = new 数据类型[行的个数][列的个数];

或者
2.数据类型[][] 数组名;

数组名 = new 数据类型[行的个数][列的个数]

赋值

数组名[行的索引][列的索引] = 值;
Arrays 类
语法:  Arrays.sort(数组名);

可以使用 sort( ) 方法实现对数组的排序,只要将数组名放在 sort( ) 方法的括号中,就可以完成对该数组的排序(按升序排列)

将数组转换为字符串

语法:  Arrays.toString(数组名);

可以使用 toString() 方法将一个数组转换成字符串,该方法按顺序把多个数组元素连接在一起,多个元素之间使用逗号和空格隔开

变量的作用域

Java中,变量的作用域分为四个级别:类级、对象实例级、方法级、块级。

类级变量又称全局级变量或静态变量,需要使用static关键字修饰。
对象实例级变量就是成员变量,实例化后才会分配内存空间,才能访问。
方法级变量就是在方法内部定义的变量,就是局部变量。
块级变量就是定义在一个块内部的变量,变量的生存周期就是这个块,出了这个块就消失了,比如 if、for 语句的块。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/64253.html

相关文章

  • Java初学者最佳的学习方法以及会遇到的坑(内含学习资料)!

    摘要:最近系统整理了一套初学者最佳的学习方法以及会遇到的坑等,希望对你有所帮助。正常的智商其实,学习并不需要所谓的数学逻辑好,需要英语水平棒。大周期每天学习时间五个小时以上的,建议学习周期。三学习时会遇到的坑不知道学习的重点,下面学习路线会画。 最近系统整理了一套java初学者最佳的学习方法以及会遇到的坑等,希望对你有所帮助。 目录: 一、学习java的前提 二、学习java的方法 三、学习...

    Half 评论0 收藏0
  • Java入门请不要放弃,学习路线以及侧重点分析

    摘要:而面向搜索引擎,就是我们要及时的使用百度谷歌遇到问题无法解决,先别急着放弃,可以去网络寻找答案,你的坑大部分别人都已经走过了,大部分都可以找到合适的解决方案。 showImg(https://segmentfault.com/img/remote/1460000019236352?w=866&h=456); 前言: ●众多的语言,到底哪一门才是适合我的?●我们为什么要学习Java语言呢...

    mochixuan 评论0 收藏0
  • ApacheCN 编程/大数据/数据科学/人工智能学习资源 2019.6

    摘要:请回复这个帖子并注明组织个人信息来申请加入。权限分配灵活,能者居之。数量超过个,在所有组织中排名前。网站日超过,排名的峰值为。导航归档社区自媒体平台微博知乎专栏公众号博客园简书合作侵权,请联系请抄送一份到赞助我们 Special Sponsors showImg(https://segmentfault.com/img/remote/1460000018907426?w=1760&h=...

    Bmob 评论0 收藏0
  • ApacheCN 编程/大数据/数据科学/人工智能学习资源 2019.5

    摘要:请回复这个帖子并注明组织个人信息来申请加入。版笔记等到中文字幕翻译完毕后再整理。数量超过个,在所有组织中排名前。网站日超过,排名的峰值为。主页归档社区自媒体平台微博知乎专栏公众号博客园简书合作侵权,请联系请抄送一份到赞助我们 Special Sponsors showImg(https://segmentfault.com/img/remote/1460000018907426?w=1...

    zhonghanwen 评论0 收藏0
  • 大部分程序员都记不住的注解,Idea 云笔记却能轻松记住

    摘要:只因技术种类繁杂众多层出不穷,程序员只有靠不断的学习才能不落后于技术,被工作淘汰。特此推荐给大家。 99%的程序员每天都是先学习,后工作,不然完成不了工作。只因技术种类繁杂众多、层出不穷,程序员只有靠不断的学习才能不落后于技术,被工作淘汰。我就是这其中一员,深得体会其中的「疼并快乐」,在...

    ARGUS 评论0 收藏0
  • java&javaweb学习笔记(汇总)

    摘要:我的学习笔记汇总标签笔记分为两大部分和笔记内容主要是对一些基础特性和编程细节进行总结整理,适合了解基础语法,想进一步深入学习的人如果觉得不错,请给,这也是对我的鼓励,有什么意见欢迎留言反馈目录基础巩固笔记反射基础巩固笔记泛型基础巩 我的java&javaweb学习笔记(汇总) 标签: java [TOC] 笔记分为两大部分:javase和javaweb javase javawe...

    yagami 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<