我的java学习之旅--一些基础
(因为我粗略学过C,C++,Python,了解过他们的一些语法,所以为了使得java的入门更为顺畅,便会忽略一些和C语法相类似的地方,着重点明一些java自己的特色之处。也减轻一下自己写文字的负担。)
JAVA是一门静态的强类型的面向对象的重量级的编程语言。
一般写JAVA程序需要的组件是JDK,到甲骨文的网站上下载即可。
初级阶段使用文本编辑器即可,当然,我正处在这个阶段。
此时用来编译运行JAVA文件常用的两条命令是
javac -encoding utf-8 filename.java
java filename
以上命令就是先使用javac在java文件当前目录下,编译生成字节码文件filename.class,之后再用java解释执行成特定平台的机器码,输出。
这里指定了编码格式,因为java默认文件为unicode编码,但是文件中有中文,会有错误提示。
错误:编码GBK的不可映射字符
若是你没有这个问题,则可以忽略那个-encoding utf-8
java源文件的命名
和c,c++,python不同,java要求,源文件后缀名为.java,文件名字一般要求和文件中的 public class 同名,若是没有定义,那就没有限制了。这也可以看出,一个java源文件中只能最多有一个 public class。通常建议一个java源文件只定义一个类,让java的源文件主文件名与该源文件中定义的 public class同名。
java程序的结构
java程序必须以类的形式存在,类是java程序的最小单位,java不允许除类外的可执行语句,方法等成分独立存在。他们必须放在类定义里。
例子:
public class HelloWorld
{
public static void main(String[] args)
{
System.out.println("Hello World");
}
}
观察上例,与文件同名的 public class HelloWorld,内部包含一个main()方法,使用System.out.println("Hello World");实现对于文本的输出,类似的有个System.out.print("Hello World");,差别就在于前者会换行。
目前用到的main()函数都是这样写的,关于详细内容之后的文章会介绍。
若是存在多个类怎么办?
可见下例:
class Dog{
public void jump(){
System.out.println("正在执行jump方法");
}
public void run(){
this.jump();
System.out.println("正在执行run方法");
}
}
public class DogTest{
public static void main(String[] args){
Dog dog = new Dog();
dog.run();
}
}
因为只允许有一个public class,故而其他的就是普通的类的形式。
java中的流程控制语句
if (...){
...
}
else if{
...
}
else{
...
}
switch (...){
case ...:{
...
break;
}
...
default:{
...
}
}
while (...){
...
}
do{
...
}while (...);
for (...; ...; ...){
...
}
Java中出现了一种迭代式的for的用法。python和C++都有类似的语法结构。
for ( type variableName : array | collection){
// variableName 自动迭代访问每个元素
}
例如:
public class ForEachTest
{
public static void main(String[] args)
{
String[] books = {"轻量级",
"fengkuang",
"jiangyi"};
// 使用foreach迭代遍历。
for(String book : books)
{
System.out.println(book);
}
}
}
我的java学习之旅--一些基础的更多相关文章
- Java学习之旅开篇:运行机制及环境搭建
在写这篇博客之前,我想对自己进行简单概括:我从事软件开发工作已经三年多了,并且一直在从事.NET相关项目的开发.为什么突然间想学习Java呢?有以下几个原因: 1. 开发程序三年多来,已经对.NET相 ...
- Java学习笔记:语言基础
Java学习笔记:语言基础 2014-1-31 最近开始学习Java,目的倒不在于想深入的掌握Java开发,而是想了解Java的基本语法,可以阅读Java源代码,从而拓展一些知识面.同时为学习An ...
- 2019/3/7 Java学习之多线程(基础)
Java学习之多线程 讲到线程,就必须要懂得进程,进程是相当于一个程序的开始到结束,而线程是依赖于进程的,没有进程,就没有线程.线程也分主线程和子线程,当在主线程开启子线程时,主线程结束,而子线程还可 ...
- Java学习之旅基础知识篇:面向对象之封装、继承及多态
Java是一种面向对象设计的高级语言,支持继承.封装和多态三大基本特征,首先我们从面向对象两大概念:类和对象(也称为实例)谈起.来看看最基本的类定义语法: /*命名规则: *类名(首字母大写,多个单词 ...
- Java学习之旅基础知识篇:数据类型及流程控制
经过开篇对Java运行机制及相关环境搭建,本篇主要讨论Java程序开发的基础知识点,我简单的梳理一下.在讲解数据类型之前,我顺便提及一下Java注释:单行注释.多行注释以及文档注释,这里重点强调文档注 ...
- Java学习之旅基础知识篇:数组及引用类型内存分配
在上一篇中,我们已经了解了数组,它是一种引用类型,本篇将详细介绍数组的内存分配等知识点.数组用来存储同一种数据类型的数据,一旦初始化完成,即所占的空间就已固定下来,即使某个元素被清空,但其所在空间仍然 ...
- java学习之路--简单基础的面试题
1.面向对象的特征有哪些方面? 答:面向对象的特征主要有以下几个方面: 1)抽象:抽象是将一类对象的共同特征总结出来构造类的过程,包括数据抽象和行为抽象两方面.抽象只关注对象有哪些属性和行为,并不关注 ...
- java学习(一)--- 基础语法
学习内容来 自菜鸟教程 http://www.runoob.com/java/java-object-classes.html Java基础 Java:一个Java程序可以认为是一系列的对象组合, ...
- java 学习第一篇简单基础
Java基础 Java Java 和C#有着极为相似的语法. 和C#都是面向对象的高级程序语言. JAVA是一个开源,公开的语言,有着极其丰富的开源库和其他资源. JAVA分类 JAVA分SE EE ...
随机推荐
- MySql Scaffolding an Existing Database in EF Core
官方文档详见:https://dev.mysql.com/doc/connector-net/en/connector-net-entityframework-core-scaffold-exampl ...
- 【java】final修饰符介绍
final: 最终,作为一个修饰符特点:1.可以修饰类,函数,变量2.被final修的的类不能被继承.因此类用final修饰可以避免被继承,被子类重写功能.3.被final修饰的方法不可以被重写.4. ...
- vue+窗格切换+田字+dicom显示_02
环境:vue+webpack+cornerstone ide:vs code 需求:窗格设置+拼图设置 分析: 由于时间的原因,我也没有Baidu更好的显示窗格的方法,所以使用比较笨的方法,通过组件显 ...
- JavaWeb——tomcat manager 403 Access Denied .You are not authorized to view this page.
403 Access Denied You are not authorized to view this page. If you have already configured the Manag ...
- 一入爬虫深似海,从此游戏是路人!总结我的python爬虫学习笔记!
前言 还记得是大学2年级的时候,偶然之间看到了学长在学习python:我就坐在旁边看他敲着代码,感觉很好奇.感觉很酷,从那之后,我就想和学长一样的厉害,就想让学长教我,请他吃了一周的饭,他答应了.从此 ...
- List转Json函数
public string ObjectToJson<T>(string jsonName, IList<T> IL) { StringBuilder Json = new S ...
- 操作系统切换CPU的方式
操作系统切换CPU的方式 1 IO等待切换. 2 时间轮询切换,也就是如果没有IO等待的情况下,就会有时间轮询切换,不让CPU一直处理一个任务 CPU的处理速度是纳秒级别的,所有我们可以同时听歌, ...
- lambda group by 的用法
foreach (DynamicObject lstKSItem in lstKSItems) { var entity = lstKSItem["FEntity"] as Dyn ...
- BOUNDARIES AND SPACE
BOUNDARIES AND SPACE Review Nice work! You've learned a lot. Let's review the web and CSS concepts c ...
- 高性能迷你React框架anujs1.0.5发布
实现对createFactory的支持,优化scheduler与dispose机制,提供ReactShim文件,跑通公司内部4套测试 npm i anujs 或者使用架手架 https://githu ...