关于计算机编程c语言,java,自学看哪些书比较浅显易懂

关于计算机编程c语言,java,自学看哪些书比较浅显易懂,第1张

其中《Head First Java》被亚马逊评为十大好书之一。在京东计算机类书籍中热度排名第16位,在Java类书籍中排名第2位。豆瓣评分为88分,有百分之544%的读者给出了五星评价。在知乎社区中有来自无数位的大神做推荐。哪本书适合推荐给 Java 初学者? - 书籍推荐

《Head First Java》是本完整的面向对象(object-oriented,OO)程序设计和Java的学习指导。此书是根据学习理论所设计的,让你可以从学习程序 语言的基础开始一直到包括线程、网络与分布式程序等项目。最重要的,你会学会如何像个面向对象开发者一样去思考。

Head First系列的图文并茂学习方式能让你快速地在脑海中掌握住知识。敞开心胸准备好学习这些关键性的主题:

Java程序语言

面向对象程序开发

Swing图形化接口

使用Java API函数库

编写、测试与布署应用程序

处理异常

多线程

网络程序设计

集合与泛型

《疯狂Java讲义》深入介绍了Java编程的相关方面,全书内容覆盖了Java的基本语法结构、Java的面向对象特征、Java集合框架体系、 Java泛型、异常处理、Java GUI编程、JDBC数据库编程、Java注释、Java的IO流体系、Java多线程编程、Java网络通信编程和Java反射机制。共覆盖了 javaawt、javalang、>

对于这本书,大家并不陌生。 《Thinking in Java》在京东平台有超过45w+的评论,在京东计算机类书籍中热度排名第9位,在Java类书籍中排名第1位。在豆瓣,总评分达到91分,有611%的读者给出了五星的评价。在知乎社区也是一本被极力推荐的书籍,当然这本书希望你可以在读完上面两本之一之后再开始拿起这本书。

很多人学习Java是从《Thinking in Java》这本书入手的,但是我认为这本书是不适合初学者的。我认为正确的使用这本书的方法应该是作为辅助的读物。《Thinking in Java》并不是在完整的介绍Java的整个体系,而是一种跳跃式的写作方法,是一种类似tips的方法来对Java很多知识点进行了深入的分析和解释。

《Java 核心技术》在京东平台有超过15w+的评论,在京东计算机类书籍中热度排名第37位,在Java类书籍中排名第5位。在豆瓣,总评分达到89分,有534%的读者给出了五星的评价。作为入门之后的书籍值得咀嚼一番。

《JAVA核心技术(卷1):基础知识(原书第 8版)》是《Java核心技术》的最新版,《Java核心技术》出版以来一直畅销不衰,深受读者青睐,每个新版本都尽可能快地跟上Java开发工具箱发展 的步伐,而且每一版都重新改写了的部分内容,以便适应Java的最新特性。本版也不例外,它反遇了Java SE6的新特性。全书共14章,包括Java基本的程序结构、对象与类、继承、接口与内部类、图形程序设计、事件处理、Swing用户界面组件、部署应用 程序和Applet、异常日志断言和调试、叙述方式深入浅出,并包含大量示例,从而帮助读者充分理解Java语言以及Java类型库的相关特性。

图书的一个基本大纲:

1-6章:概述和基本语法,为便于C++程序员迁移,附有大量C++对比注释,还有各种“注意”“警告”的tips,这编排很好。

7-9章:Java基于awt和swing包的界面开发由于缺少良好的IDE支持,界面设计和布局问题让习惯了VS的初学者很烦躁,789可跳读,核心机制是事件驱动-监听-方法回调的机制。书中很多相关示例代码。

10-11 章:应用部署和applet,先了解一下,要发布时再仔细看也来得及,至于applet,据说现在用的比较少了。如果你熟悉C++或C++++的话,异常 几乎没新内容,但是建议读第4章之前先读一下异常这章,因为java中所有可能的非运行时异常都需要人工捕获处理。

12-13章:虚拟机的泛型系统实现特点及使用注意是第一卷的进阶精华,也是MetaPrograming的第一步,和C++的template的实现很不一样,C++的程序员要注意比较区别。至于集合,要注意分类,因为历史遗留和兼容性问题,java这块比较乱。

14章:先有多线程的概念在看书要好些,包里有一大堆过时的API,小心尽量不使用。书里的配图很好。

如果你想学好Java,想知道Java的原理吗?这本书会是你的不二选择。 《深入理解Java虚拟机:JVM高级特性与最佳实践》在京东平台有超过35w+的评论,在京东计算机类书籍中热度排名第24位,在Java类书籍中排名第3位。在豆瓣,总评分达到86分,有436%的读者给出了五星的评价。作为入门之后的书籍值得咀嚼一番。

玩java不懂JVM那岂能行,此书乃java进阶必看的书籍,对java内存模型,JVM工作原理,基本JVM调优和内存溢出排查有很大的帮助

全书共分为五大部分。第一部分从宏观的角 度介绍了整个Java技术体系的过去、现在和未来,以及如何独立地编译一个OpenJDK7,这对理解后面的内容很有帮助。第二部分讲解了JVM的自动内 存管理,包括虚拟机内存区域的划分原理以及各种内存溢出异常产生的原因;常见的垃圾收集算法以及垃圾收集器的特点和工作原理;常见的虚拟机的监控与调试工 具的原理和使用方法。第三部分分析了虚拟机的执行子系统,包括Class的文件结构以及如何存储和访问Class中的数据;虚拟机的类创建机制以及类加载 器的工作原理和它对虚拟机的意义;虚拟机字节码的执行引擎以及它在实行代码时涉及的内存结构。第四部分讲解了程序的编译与代码的优化,阐述了泛型、自动装 箱拆箱、条件编译等语法糖的原理;讲解了虚拟机的热点探测方法、HotSpot的即时编译器、编译触发条件,以及如何从虚拟机外部观察和分析JIT编译的 数据和结果。第五部分探讨了Java实现高效并发的原理,包括JVM内存模型的结构和 *** 作;原子性、可见性和有序性在Java内存模型中的体现;先行发生 原则的规则和使用;线程在Java语言中的实现原理;虚拟机实现高效并发所做的一系列锁优化措施。

本书适合所有Java程序员、系统调优师和系统架构师阅读。

老司机带你分析SpringMVC框架设计原理与实现

链接:> 密码:57w4

Netty粘包分包现象及解决方案实战,防socket攻击

链接:> 密码:dk9n

大型企业级高并发下数据库水平切分之读写分离技巧详解

链接:> 密码:ri8q

分布式事务出现场景及解决方案详细剖析

链接:> 密码:380p

以上都是小编收集了大神的灵药,喜欢的拿走吧!喜欢小编就轻轻关注一下吧!

Java前景是很不错的,像Java这样的专业还是一线城市比较好,师资力量跟得上、就业的薪资也是可观的,学习Java可以按照路线图的顺序,

0基础学习Java是没有问题的,关键是找到靠谱的Java培训机构,你可以深度了解机构的口碑情况,问问周围知道这家机构的人,除了口碑再了解机构的以下几方面:

1 师资力量雄厚

要想有1+1>2的实际效果,很关键的一点是师资队伍,你接下来无论是找个工作还是工作中出任哪些的人物角色,都越来越爱你本身的技术专业java技术性,也许的技术专业java技术性则绝大多数来自你的技术专业java教师,一个好的java培训机构必须具备雄厚的师资力量。

2 就业保障完善

实现1+1>2效果的关键在于能够为你提供良好的发展平台,即能够为你提供良好的就业保障,让学员能够学到实在实在的知识,并向java学员提供一对一的就业指导,确保学员找到自己的心理工作。

3 学费性价比高

一个好的Java培训机构肯定能给你带来1+1>2的效果,如果你在一个由专业的Java教师领导并由Java培训机构自己提供的平台上工作,你将获得比以往更多的投资。

希望你早日学有所成。

初级程序员考试:考试科目1:计算机硬软件基础知识\x0d\\x0d\ 1 计算机科学基础\x0d\ 11 数制及其转换\x0d\ 二进制、十进制和十六进制等常用数制及其相互转换\x0d\ 12 数据的表示\x0d\ 数的表示(原码、反码、补码表示,整数和实数的机内表示方法,精度和溢出)\x0d\ 非数值表示(字符和汉字的机内表示、声音和图像的机内表示)\x0d\ 校验方法和校验码(奇偶校验码、海明校验码)\x0d\ 13 算术运算和逻辑运算\x0d\ 计算机中二进制数的运算方法\x0d\ 逻辑代数的基本运算和逻辑表达式的化简\x0d\ 14 数学应用\x0d\ 常用数值计算(矩阵、方程的近似求解、插值)\x0d\ 排列组合、应用统计(数据的统计分析)\x0d\ 15 常用数据结构\x0d\ 数组(表态数组、动态数组)、线性表、链表(单向链表、双向链表、循环链表)、队列、栈、树(二叉树、查找树)、图的定义、存储和 *** 作\x0d\ 16 常用算法\x0d\ 常用的排序算法、查找算法、数值计算、字符串处理、数据压缩算法、递归算法、图的相关算法\x0d\ 算法与数据结构的关系,算法效率,算法设计,算法描述(流程图、伪代码、决策表)\x0d\ 2. 计算机系统基础知识\x0d\ 21 硬件基础知识\x0d\ 211 计算机系统的组成,硬件系统、软件系统及层次结构\x0d\ 212 计算机类型和特点\x0d\ 微机、工作站、服务器、大型计算机、巨型计算机\x0d\ 213 中央处理器CPU\x0d\ 运算器和控制器的组成,常用的寄存器、指令系统、寻址方式、指令执行控制、处理机性能\x0d\ 214 主存和辅存\x0d\ 存储器系统\x0d\ 存储介质(半导体、硬盘、光盘、闪存、软盘、磁带等)\x0d\ 主存储器的组成、性能及基本原理\x0d\ Cache的概念、虚拟存储的概念\x0d\ 辅存设备的类型、特性、性能和容量计算\x0d\ 215 I/O接口、I/O设备和通信设备\x0d\ I/O接口(总线、DMA、通道、SCSI、并行口、RS232C、USB、IEEE1394)\x0d\ I/O设备的类型和特性(键盘、鼠标、显示器、打印机、扫描仪、摄像头,以及各种辅存设备)\x0d\ I/O设备控制方式(中断控制、DMA)\x0d\ 通信设备的类型和特性(Modem、集线器、交换机、中继器、路由器、网桥、网关)及其连接方法和连接介质(串行连接、并行连接,传输介质的类型和特性)\x0d\ 22 软件基础知识\x0d\ 221 *** 作系统基础知识\x0d\ *** 作系统的类型和功能\x0d\ *** 作系统的内核(中断控制)和进程概念\x0d\ 处理机管理、存储管理、设备管理、文件管理、作业管理\x0d\ 汉字处理\x0d\ 图形用户界面及其 *** 作方法\x0d\ 222 程序设计语言和语言处理程序基础知识\x0d\ 汇编、编译、解释系统的基础知识\x0d\ 程序设计语言的基本成分(数据、运算、控制和传输)\x0d\ 过程(函数)调用\x0d\ 23 网络基础知识\x0d\ 网络的功能、分类、组成和拓扑结构\x0d\ 网络体系结构与协议(OSI/RM,TCP/IP)\x0d\ 常用网络设备与网络通信设备,网络 *** 作系统基础知识和使用\x0d\ Client/Server结构、Browser/Server结构\x0d\ LAN基础知识\x0d\ Internet基础知识\x0d\ 24 数据库基础知识\x0d\ 数据库管理系统的主要功能和特征\x0d\ 数据库模型(概念模式、外模式、内模式)\x0d\ 数据模型,ER图\x0d\ 数据 *** 作(关系运算)\x0d\ 数据库语言(SQL)\x0d\ 数据库的主要控制功能\x0d\ 25 多媒体基础知识\x0d\ 多媒体基础概念,常用多媒体设备性能特征,常用多媒体文件格式类型\x0d\ 简单图形的绘制,图像文件的基本处理方法\x0d\ 音频和视频信息的应用\x0d\ 简单多媒体应用制作方法\x0d\ 26 系统性能指标\x0d\ 响应时间、吞吐量、周转时间等概念\x0d\ 可靠性、可维护性、可扩充性、可移植性、可用性、可重用性、安全性等概念\x0d\ 27 计算机应用基础知识和常用办公软件的 *** 作方法\x0d\ 信息管理、数据处理、辅助设计、自动控制、科学计算、人工智能等概念\x0d\ 文字处理基础知识和常用 *** 作方法\x0d\ 电子表格处理基础知识和常用 *** 作方法\x0d\ 演示文稿制作方法\x0d\ 电子邮件处理 *** 作方法\x0d\ 网页制作方法\x0d\ 3. 软件开发和运行维护基础知识\x0d\ 31 软件工程和项目管理基础知识\x0d\ 软件工程基本概念\x0d\ 软件开发各阶段的目标和任务\x0d\ 软件过程基本知识\x0d\ 软件工程项目管理基本知识\x0d\ 面向对象开发方法基础知识\x0d\ 软件开发工具与环境基础知识(CASE)\x0d\ 软件质量管理基础知识\x0d\ 32 软件需求分析、需求定义及软件基础知识\x0d\ 结构化分析概念(数据流图(DFD)、实体关系图(ER))\x0d\ 面向对象设计、结构化设计基础知识\x0d\ 模拟设计、代码设计、人机界面设计要点\x0d\ 33 程序设计基础知识\x0d\ 结构设计程序设计,程序流程图,NS图,PAD图\x0d\ 程序设计风格\x0d\ 面向对象设计基础知识、可视化程序设计基础知识\x0d\ 34 程序测试基础知识\x0d\ 黑盒测试、白盒测试、灰盒测试基础知识\x0d\ 测试工作流程\x0d\ 35 软件开发文档基础知识\x0d\ 36 软件运行和维护基础知识\x0d\ 软件运行基础知识\x0d\ 软件维护基础知识\x0d\ 4. 安全性基础知识\x0d\ 安全性基本概念\x0d\ 计算机病毒的防治,计算机犯罪的防范\x0d\ 访问控制\x0d\ 加密与解密基础知识\x0d\ 5. 标准化基础知识\x0d\ 标准化基本概念\x0d\ 国际标准、国家标准、行业标准、企业标准基础知识\x0d\ 代码标准、文件格式标准、安全标准、软件开发规范和文档标准基础知识\x0d\ 标准化机构\x0d\ 6. 信息化基本知识\x0d\ 信息化基本概念\x0d\ 全球信息化趋势,国家信息化战略,企业信息化战略和策略常识\x0d\ 有关的法律、法规要点\x0d\ 过程教育、电子商务、电子政务等常识\x0d\ 企业信息资源管理常识\x0d\ 7. 计算机专业英语\x0d\ 掌握计算机技术的基本词汇\x0d\ 能正确阅读和理解本领域的简单英文资料 \x0d\\x0d\考试科目2:程序设计\x0d\ 1 内部设计\x0d\ 11 理解外部设计\x0d\ 12 功能划分和确定结构\x0d\ 数据流图、结构图\x0d\ 13 物理数据设计\x0d\ 确定数据组织方式、存储介质,设计记录格式和处理方式\x0d\ 14 详细输入输出设计\x0d\ 界面设计、报表设计\x0d\ 15 内部设计文档\x0d\ 对程序接口、程序功能、人机界面、输入输出、测试计划的描述\x0d\ 16 内部设计文档\x0d\ 2. 程序设计\x0d\ 21 模拟划分(原则、方法、标准)\x0d\ 22 编写程序设计文档\x0d\ 模块规格说明书(程序处理逻辑的描述、输入输出数据格式的描述)\x0d\ 测试要求说明书(测试类型和目标、测试用例、测试方法)\x0d\ 23 程序设计评审\x0d\ 3. 程序实现\x0d\ 31 编程\x0d\ 编程方法和标准\x0d\ 程序设计语言的使用\x0d\ 人工检查\x0d\ 程序文档化\x0d\ 32 程序测试\x0d\ 准备测试环境和测试工具\x0d\ 准备测试数据 \x0d\ 写出测试报告\x0d\ 4程序设计语言(C语言为必选,其他语言可以任选一种)\x0d\ 41 C程序设计语言(ANSI C标准)\x0d\ 程序结构,语法,数据类型说明,可执行语句,函数调用,标准库函数,指针\x0d\ 42 C++程序设计语言(ANSI C++标准)\x0d\ C++和面向对象程序设计,语法和程序结构,类、成员、构造函数、析构函数、模板、继承、多态\x0d\ 43 Java程序设计(Java 2)\x0d\ Java和面向对象程序设计\x0d\ 语言机制(程序结构和语法,类、成员、构造函数、析构函数、继承、接口)\x0d\ 44 Visual Basic程序设计(Visual Basic 60)\x0d\ 用户界面设计\x0d\ 程序结构和语法\x0d\ 文件系统对象\x0d\ 访问数据库 \x0d\复习材料(均为清华大学出版社):\x0d\978-7-302-20585-2,程序员教程(第三版),张淑平主编\x0d\7-302-12895-2,程序员教程(第2版),沈林兴主编

package test;

import javaawt;

import javaawtevent;

import javautil;

import javaxswing;

class TestCalculator {

JFrame jf=new JFrame("calculator");

JPanel jp=new JPanel();

JPanel jpn=new JPanel();

JTextArea jta=new JTextArea(2,14);

JButton bt;

JButton reset=new JButton("Reset");

String s=new String("1234567890=+-/");

String numberOne="";

String numberTwo="";

double number=0d;

double result=0d;

char sign;

public TestCalculator() {

jfsetSize(250,300);

jpsetLayout(new GridLayout(4,4));

jtasetEditable(false);

ArrayList list=new ArrayList();

for(int i=0;i<16;i++){

bt=new JButton(scharAt(i)+"");

jpadd(bt);

listadd(bt);

}

jpnsetLayout(new FlowLayout());

jpnadd(jta);

jpnadd(reset);

jfadd(jpn,"North");

jfadd(jp);

jtasetEditable(false);

jfsetVisible(true);

jfsetDefaultCloseOperation(jfEXIT_ON_CLOSE);

resetaddActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e) {

reSet();

}

});

Iterator it=listiterator();

while(ithasNext()){

final JButton o=(JButton)itnext();

oaddActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e) {

/判断被点击的按钮所代表的String是不是数字0-9/

if(ogetText()matches("\\d")||ogetText()equals("")){

jtaappend(ogetText());

getNumberTwo(ogetText());

}else{

getNumberOne();

double number1;

double number2;

if(numberOneequals("")){

number1=0;

}else{

number1=DoubleparseDouble(numberOne);

}

if(numberTwoequals("")){

number2=number;

}else{

number2=DoubleparseDouble(numberTwo);

}

switch(sign){

case '+':result=number1+number2;break;

case '-':result=number1-number2;break;

case '':result=number1number2;break;

case '/':result=number1/number2;break;

case '=':break;

default :result=number1;

}

number=number2;

numberTwo="";

jtasetText(result+"");

getSign(ogetText());

if(!ogetText()equals("="))

jtaappend(ogetText());

}

}

});

}

}

public void getNumberTwo(String s){

numberTwo+=s;

// Systemoutprintln("numberTwo:"+numberTwo);

}

public void getNumberOne(){

if(result==0){

numberOne=numberTwo;

}else{

numberOne=result+"";

}

// Systemoutprintln("numberOne: "+numberOne);

}

public void getSign(String s){

sign=scharAt(0);

// Systemoutprintln("sign:"+sign);

}

public void reSet(){

numberOne="";

numberTwo="";

sign=0;

result=0;

jtasetText("");

}

}

public class Calculator2{

public static void main(String[] agrs){

TestCalculator calculator=new TestCalculator();

}

}

计算器代码,用swing做的

下面是BankAccount类的代码:

public class BankAccount {

  private String name;

  private double balance;

  private int year;

  private double rate = 001d;

  public String getName() {

      return name;

  }

  public void setName(String name) {

      thisname = name;

  }

  public double getRate() {

      return rate;

  }

  public void setRate(double rate) {

      thisrate = rate;

  }

  public double getBalance() {

      return balance;

  }

  public BankAccount() {

      thisbalance = 10d;

      thisyear = 1;

  }

  public BankAccount(double balance, int year) {

      thisbalance = balance;

      thisyear = year;

  }

  public void save(double balance, int year) {

      thisbalance = thisbalance + balance;

      thisyear = year;

  }

  public void fetch(double balance) {

      thisbalance = thisbalance - balance;

      thisyear = 0;

  }

  public double calcTotal() {

      return thisbalance thisrate thisyear + thisbalance;

  }

}

下面是BankTest类的代码:

public class BankTest {

  public static void main(String[] args) {

      BankAccount account = new BankAccount(1000d, 3);

      accountsetName("Tom");

      accountsave(2000d, 3);

      Systemoutprintln("该账户的姓名:" + accountgetName());

      Systemoutprintln("该账户的存款额:" + accountgetBalance());

      Systemoutprintln("该账户的总金额:" + accountcalcTotal());

  }

}

下面是运行结果:

麻烦您看一下,是否能够满足要求。

选择Java入门书籍时,可以考虑以下因素:

作者的经验和知名度

书籍的内容和难度适合程度

是否有相关的实例和练习

以下是几本推荐的Java入门书籍:

《Head First Java》:这本书适合Java初学者,内容易懂,提供了大量的练习和实例,帮助读者快速掌握Java编程语言。

《Java编程思想》:这本书的内容比较全面,适合想要深入了解Java语言的读者。虽然难度较高,但是提供了丰富的例子和代码,能够帮助读者更好地理解Java编程思想。

《Effective Java》:这本书是由Java之父Joshua Bloch撰写的,它主要介绍Java编程中的最佳实践。这本书的难度较高,适合已经有一定Java编程经验的读者。

《Java核心技术》:这是一本比较全面的Java技术书籍,内容包括Java语言的基础、面向对象编程、多线程、网络编程等方面。这本书的难度适中,适合Java初学者和有一定编程基础的读者。

以上推荐的书籍仅供参考,具体的选择可以根据自己的学习需求和目标来定。

以上就是关于关于计算机编程c语言,java,自学看哪些书比较浅显易懂全部的内容,包括:关于计算机编程c语言,java,自学看哪些书比较浅显易懂、请问Java的学习步骤、计算机软考初级程序员的考试内容有哪些等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/9309693.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存