【Head First Java 读书笔记】(一)基本概念

Java的工作方式

 

你要做的事情就是会编写源代码

 

Java的程序结构

类存于源文件里面

方法存在类中

语句存于方法中

剖析类

当Java虚拟机启动执行时,它会寻找你在命令列中所指定的类,然后它会锁定像下面这样一个特定的方法:

public static void main(String[] args){//code
}

接着java虚拟机就会执行main方法在花括号间的函数所有指令。每个Java程序最少都会有一个类以及一个main()。每个应用程序只有一个main()函数

 

编写带有main()的类

在Java中的所有东西都会属于某个类。源文件为.java,编译之后成为新的类文件.class ,真正被执行的是类。

总之main()就是程序的起点。不管你的程序有多大(不管有多少个类)一定会有一个main()来作为程序的起点。

 

QAQ

为何所有的东西都得包含在类中?

因为Java是面对对象的语言,它不像以前的程序语言那样。类是对象的蓝图,而Java中的绝大多是东西都是对象。

每个类都需要加上一个main()吗?
一个程序只要一个main来作为运行。

其他语言可以用整数类型(0代表)来做判断,Java里面也可以么?

不行,Java中的integer与boolean两种类型并不相容。

专家术语学习机

package chapter1;public class PhraseOMatic {public static void main(String[] args) {String[] wordListOne = { "24/7", "multiTier", "30,000 foot", "B-to-B","win-win", "front-end", "web-based", "parvasive", "smart","sixsigma", "critical-path", "dymatic" };String[] wordListTwo = { "empowered", "sticky", "value-added","oriented", "centric", "distributed", "clustered", "branded","outside-the-box", "positioned", "networked", "focused","leveraged", "aligned", "targeted", "shared", "cooperative","accelerated" };String[] wordListThree = { "process", "tippingpoint", "solution","architecture", "core competency", "strategy", "mindshare","portal", "space", "vision", "paradigm", "mission" };int oneLength = wordListOne.length;int twoLength = wordListTwo.length;int threeLength = wordListThree.length;int rand1 = (int) (Math.random() * oneLength);int rand2 = (int) (Math.random() * twoLength);int rand3 = (int) (Math.random() * threeLength);String phrase = wordListOne[rand1] + " " + wordListTwo[rand2] + " "+ wordListThree[rand3];System.out.println("What we need is a " + phrase);}}

random()方法返回介于0到1之间的值。

 

编译器与JVM谁比较重要?

编译器就是把源码编译成二进制代码,即字节码,并检查语法错误,程序员不可能自己去写二进制的代码,所以需要编译器。Java是个强类型的语言,这代表编译器不能容许变量保存类型的数据,这是很关键的类型安全性功能,编译器能让大部分的错误在到你那边之前就被抓到,有些数据类型的错误会在运行时发生,但这也是为了要容许动态绑定这样的功能。Java可以在执行期引起连程序员也没有预期会碰到的类型,所以我编译器保留一些运用性,编译器的工作就是确保铁定不能跑的东西不会过关。

但是如果没有JVM Java程序就无法启动

 

转载于:https://www.cnblogs.com/six-moon/p/4667082.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/471770.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

oid 值 内存使用_[技术干货] zabbix监控项原型组合键值

自动发现中监控项原型使用多个值组合成一个新的键值。这里我们以华为RH5885V3的内存为例:我们先walk出要用来作为组合键值的值,我们称之为VALUE。而OID节点后面延伸出来的数值,例如.1、.2、.3这种,我们称之为INDEX。组合键值的关键…

c语言从键盘输入asdfg输出asdfg,C语言复习题参考答案.doc

第1题功能:将十进制数转换成十六进制数。第2题功能:删除字符串中的指定字符,字符串和要删除的字符均由键盘输入。第3题功能:以下程序是用选择法对10个整数按升序排序。第4题功能:以下程序的功能如(图1)。第5题功能&…

LeetCode MySQL 1853. 转换日期格式(日期格式化)

文章目录1. 题目2. 解题1. 题目 表: Days ------------------- | Column Name | Type | ------------------- | day | date | -------------------day 是这个表的主键。 给定一个Days表,请你编写SQL查询语句,将Days表中的每一个日期转化为&qu…

自定义计算器 android,自定义公式计算app下载

自定义公式计算器是非常强大的一款计算器软件,可以帮助大家计算各种函数,还能够自定义公式进行保存,便于以后的计算;软件包含了科学计算器的所有功能,而且没有广告,非常的方便和强大,喜欢的朋友…

进度条上的小圆点怎么做_傲视网:【AE教程】如何制作环形进度条(第一讲)...

原标题:傲视网:【AE教程】如何制作环形进度条(第一讲)大家好,福利来啦!这里将分享如何制作环形进度条,教你如何从入门到精通学AE。环形进度条是个特殊的动画,在旋转的基础上还要选择性地显示部分区域。制作…

android 行布局选择器,『自定义View实战』—— 银行种类选择器

在工作中难免遇到自定义 View 的相关需求,本身这方面比较薄弱,因此做个记录,也是自己学习和成长的积累。自定义View实战前言年前的最后一个开发需求,将之前H5开卡界面转变成native。意思就是开卡这个需求做成Android原生的界面&am…

LeetCode 1971. Find if Path Exists in Graph(图的遍历)

文章目录1. 题目2. 解题1. 题目 There is a bi-directional graph with n vertices, where each vertex is labeled from 0 to n - 1 (inclusive). The edges in the graph are represented as a 2D integer array edges, where each edges[i] [ui, vi] denotes a bi-directi…

月之数

月之数 Time Limit : 1000/1000ms (Java/Other) Memory Limit : 32768/32768K (Java/Other) Total Submission(s) : 65 Accepted Submission(s) : 35 Font: Times New Roman | Verdana | Georgia Font Size: ← → Problem Description 当寒月还在读大一的时候&#xff0…

更新wpscan_wpscan扫描工具

简介WPScan是一个扫描WordPress漏洞的黑盒子扫描器,可以扫描出wordpress的版本,主题,插件,后台用户以及爆破后台用户密码等,Kali Linux默认自带了WPScan,也可以到Github项目仓库[1]中下载安装,其…

android monkey压力测试,Android-Monkey 压力测试

1.Monkey 介绍Monkey是Android中一个对App进行压力测试的命令行工具,可以向系统发送伪随机的用户事件流对正在开发的App进行压力测试(模拟用户操作App)。压力测试主要是为了提高App的稳定性、和用户留存率。Monkey功能强大,主要包含三个部分:…

LeetCode 1974. 使用特殊打字机键入单词的最少时间

文章目录1. 题目2. 解题1. 题目 有一个特殊打字机,它由一个 圆盘 和一个 指针 组成, 圆盘上标有小写英文字母 ‘a’ 到 ‘z’。 只有 当指针指向某个字母时,它才能被键入。指针 初始时 指向字符 ‘a’ 。 每一秒钟,你可以执行以…

vue弹出alert_vue+webpack 实现简单的弹窗(alert)组件

话不多说,下面是alert组件的代码(需要引用node-sass sass-loader scss-loader,主要是为了用scss样式)提示{{message}}{{negativeText}}{{positiveText}}export default {name: my-alert,props: {isShow: {type: Boolean,default: false},negativeText:{t…

android studio有错误,清单合并失败,Android Studio中出现多个错误

因此,我是Android和Java的初学者。我刚刚开始学习。今天我在尝试Intent时,发生了一个错误。Error:Execution failed for task :app:processDebugManifest.> Manifest merger failed with multiple errors, see logs我在这里找到了一些解决方案&#x…

LeetCode 1979. 找出数组的最大公约数

文章目录1. 题目2. 解题1. 题目 给你一个整数数组 nums ,返回数组中最大数和最小数的 最大公约数 。 两个数的 最大公约数 是能够被两个数整除的最大正整数。 示例 1: 输入:nums [2,5,6,9,10] 输出:2 解释: nums 中…

BZOJ 1529: [POI2005]ska Piggy banks( 并查集 )

每一连通块砸开一个就可以拿到所有的钱, 所以用并查集求连通块数 -------------------------------------------------------------------#include<bits/stdc.h>#define rep(i, n) for(int i 0; i < n; i)#define clr(x, c) memset(x, c, sizeof(x))using namespace …

horizon流程图_项目实施流程和规范模板(测试方向)

转自&#xff1a;http://blog.51cto.com/xqtesting/20523121. 简介1.1 编写背景随着公司业务的快速发展&#xff0c;技术部面临的基础技术研发、客户系统建设、新产品研发、老旧系统改造等各类建设项目越来越多。但在众多技术人员参与、并发项目交互的情况下&#xff0c;如何定…

android menu xml 属性,Android中Menu类型及常见属性说明

Android系统里面有3种类型的菜单&#xff1a;options menu&#xff0c;contextmenu&#xff0c;sub menu。一、optionsmenu按Menu键就会显示&#xff0c;用于当前的Activity。它包括两种菜单项&#xff1a;因为options menu在屏幕底部最多只能显示6个菜单项&#xff0c;这些菜单…

LeetCode 1980. 找出不同的二进制字符串

文章目录1. 题目2. 解题1. 题目 给你一个字符串数组 nums &#xff0c;该数组由 n 个 互不相同 的二进制字符串组成&#xff0c;且每个字符串长度都是 n 。 请你找出并返回一个长度为 n 且 没有出现 在 nums 中的二进制字符串。 如果存在多种答案&#xff0c;只需返回 任意一个…

#时间预测算法_改进的智慧交通系统出行时间预测算法

引用Chowdhury N K, Leung C K S. Improved travel time prediction algorithms for intelligent transportation systems[C]//International Conference on Knowledge-Based and Intelligent Information and Engineering Systems. Springer, Berlin, Heidelberg, 2011: 355-3…

Navicat for MySQL数据库管理工具

官网下载地址&#xff1a;http://www.navicat.com/download/navicat-for-mysql //如图所示成功建立连接 Host Nmae/Ip Adress:localhost为本地连接&#xff0c;建立远程数据库连接时设置对应ip即可。 1&#xff09;.新建表插入中文数据可以出现&#xff1a; 导致程序直接关闭&a…