JAVA(1)
java开发第一步就是学习相关知识,打牢基础是关键,下面就和小编我一起从java基础学起吧,一起加油!
java方向主要包括三大块:
java se 桌面开发
java ee web开发
java me 手机开发
java开发工具包括:
记事本
jcreator
jbuilder
netbean
eclipse(最多)
jdk:
jre(java运行环境)
java的工具,java的编译器:javac.exe java解释执行器:java.exe
java的类库(3600多类)常用150个
JDK API 1.6.0(帮助文档)
注:public:表示这个类是公共的,一个java文件中只能有一个public类
class:表示这是一个类
hello:类名(公共类的类名必须和文件名一致)
编译java文件:
编译xx.java javac xx.java
执行xx.java程序 java xx
java虚拟机(jvm):字节码文件(.class)就会在java虚拟机中执行
<只需将.class文件交给别人而无需将.java文件交出>
public class { //一个主函数,相当于是程序的入口 public static void main(String args[]) { //执行语句 //System.out.println("hello!"); int a=10;//定义一个变量,变量名a,它的值10 int b=20; int result=a+b; //输出结果 System.out.println("结果是"+result); } }
java基本数据类型:
整数类型(byte 一个字节8bit-128~127,short两个字节 ,int四个字节 ,long 八个字节)
小数(浮点)类型 (float ,double)
布尔类型 (真 ,假)
字符类型 (char 是两个字节,可以存放汉字, 一个char只能接收一个字符)
<结论:在java中,对char进行运算时直接当做ascii码对应的整数对待>
精度:byte<short<int<long<float<double
import java.io.*; public class Demo1 { public static void main(String []args) { try{ //输入流,从键盘接收数 InputStreamReader(System.in); BufferedReader br=new BufferedReader(isr); //给出提示 System.out.println("请输入第一个数"); //从控制台读取一行数据 String a1=br.readLine(); System.out.println("请输入第二个数"); String a2=br.readLine(); //把String->float float num1=Float.parseFloat(a1); float num2=Float.parseFloat(a2); if(num1>num2) { System.out.println("第一个大"); } if(num1==num2) { System.out.println("相等"); } if(num1<num2) { System.out.println("第二个大"); } }catch(Exception e) { e.printStackTrace(); } } }
java三大流程控制:
顺序控制
分支控制:单分支,双分支,多分支
(条件表达式数据类型应当和case后的常量类型一致)
switch中的可用数据类型主要是:允许byte,short,int,char,enum(枚举)等
循环控制:for循环,while循环,do while循环
半个金字塔:
public class Demo3 { public static void main(String []args) { int lay=4; for(int i=1;i<=lay;i++) { //打印* for(int j=1;j<=i;j++){ System.out.print("*"); } //打出一个换行 System.out.println(); } } }
金字塔:
public class Demo3 { public static void main(String []args) { int lay=4; for(int i=1;i<=lay;i++) { //找出空格规律 //1->3 2->2 3->1 4->0 for(int k=1;k<=i;k++){ System.out.print(" "); } //打印* //1->1 2->2 3->5 4->7 for(int j=1;j<=(i-1)*2+1;j++){ System.out.print("*"); } //打出一个换行 System.out.println(); } } }
java面向对象编程-类与对象
类名首字母大写
类是抽象的,对象是具体的。类是对象的模板,对象是类的一个个体、实例
类的定义:
package 包名;
class 类名 extends 父类 implements
接口名{
成员变量;
构造方法;
成员方法;
}
类-类
类的成员方法-声明
public int test(int a);/*方法声明*/
(访问修饰符+数据类型+函数名+(参数列表);)
类的成员方法(函数)-特别说明
1.方法的参数列表可以是多个
类的构造方法:是类的一种特殊方法,主要作用是完成对新对象的初始化
特点:
1、方法名和类名相同
2、没有返回值
3、在创建一个类的新对象时,系统会自动的调用该类的构造方法完成对新对象的初始化
类的构造方法小结:
构造方法名和类名相同
构造方法没有返回值
主要作用是完成对新对象的初始化
在创建新对象时,系统自动调用该类的构造方法
一个类可以有多个构造方法
每个类都有一个默认的构造方法
this的重要性:
public class Demo3_1 { public static void main(String []args) { Person p=new Person(dog,23,"wang"); p.showInfo(); } } //定义一个人类 class Person { int age; String name; public Person(int age,String name) { //可读性不好 this.age=age; this.name=name; } //显示人名字 public void showInfo() { System.out.println("人名是:"+name); } }
类变量
静态变量:
public class Demo3_2 { static inti=1; static { System.out.println("a"); //该静态区域块只执行一次 i++; } public Demo3_2() { System.out.println("b"); i++; } public static void main(String []args) { Demo3_2 t1=new Demo3_2(); System.out.println(t1.i); Demo3_2 t2=new Demo3_2(); System.out.println(t2.i); } } 类方法: //学生 class Stu { int age; String name; int fee; static int totalFee; public Stu(int age,String name,int fee) { this.age=age; this.name=name; totalFee+=fee; } //返回总学费[加static表明这是一个类方法(静态方法)] //java中规则:类变量原则上用类方法去访问 public static int getTotalFee() { return totalFee; } }
注意:类方法中不能访问非静态变量(类变量)
使用:类名.类名方法 或者 对象名.类方法名
类变量与实例变量区别:
加上static称为类变量或静态变量,否则称为实例变量
类变量是与类相关,公共的属性
实例变量属于每个对象个体的属性
类变量可以通过类名.类变量名直接访问
JAVA(1)的更多相关文章
- Spark案例分析
一.需求:计算网页访问量前三名 import org.apache.spark.rdd.RDD import org.apache.spark.{SparkConf, SparkContext} /* ...
- 故障重现(内存篇2),JAVA内存不足导致频繁回收和swap引起的性能问题
背景起因: 记起以前的另一次也是关于内存的调优分享下 有个系统平时运行非常稳定运行(没经历过大并发考验),然而在一次活动后,人数并发一上来后,系统开始卡. 我按经验开始调优,在每个关键步骤的加入如 ...
- Elasticsearch之java的基本操作一
摘要 接触ElasticSearch已经有一段了.在这期间,遇到很多问题,但在最后自己的不断探索下解决了这些问题.看到网上或多或少的都有一些介绍ElasticSearch相关知识的文档,但个人觉得 ...
- 论:开发者信仰之“天下IT是一家“(Java .NET篇)
比尔盖茨公认的IT界领军人物,打造了辉煌一时的PC时代. 2008年,史蒂夫鲍尔默接替了盖茨的工作,成为微软公司的总裁. 2013年他与微软做了最后的道别. 2013年以后,我才真正看到了微软的变化. ...
- 故障重现, JAVA进程内存不够时突然挂掉模拟
背景,服务器上的一个JAVA服务进程突然挂掉,查看产生了崩溃日志,如下: # Set larger code cache with -XX:ReservedCodeCacheSize= # This ...
- 死磕内存篇 --- JAVA进程和linux内存间的大小关系
运行个JAVA 用sleep去hold住 package org.hjb.test; public class TestOnly { public static void main(String[] ...
- 【小程序分享篇 一 】开发了个JAVA小程序, 用于清除内存卡或者U盘里的垃圾文件非常有用
有一种场景, 手机内存卡空间被用光了,但又不知道哪个文件占用了太大,一个个文件夹去找又太麻烦,所以我开发了个小程序把手机所有文件(包括路径下所有层次子文件夹下的文件)进行一个排序,这样你就可以找出哪个 ...
- Java多线程基础学习(二)
9. 线程安全/共享变量——同步 当多个线程用到同一个变量时,在修改值时存在同时修改的可能性,而此时该变量只能被赋值一次.这就会导致出现“线程安全”问题,这个被多个线程共用的变量称之为“共享变量”. ...
- Java多线程基础学习(一)
1. 创建线程 1.1 通过构造函数:public Thread(Runnable target, String name){} 或:public Thread(Runnable target ...
- c#与java的区别
经常有人问这种问题,用了些时间java之后,发现这俩玩意除了一小部分壳子长的还有能稍微凑合上,基本上没什么相似之处,可以说也就是马甲层面上的相似吧,还是比较短的马甲... 一般C#多用于业务系统的开发 ...
随机推荐
- application.xml dubbo报错解决方案
- 单独部署activemq-web-console (转载)
activemq-web-console的默认使用方式是通过在activemq.xml中导入jetty.xml配置一个jetty server来实现的. 其实activemq-web-console完 ...
- CASthesis 模板编译的问题
使用CASthesis模板(https://github.com/xiaoyao9933/UCASthesis,介绍里说这个版本是在ThuThesis的基础上修改的),自带的说明如下. 使用须知 == ...
- react验证码倒计时
<!DOCTYPE html> <html> <head> <script src="../build/react.js">< ...
- Java 入门(一) - 环境变量
Win 7 X64环境 计算机(右键)-> 属性 -> 高级系统设置 -> 环境变量1.新建系统变量 : JAVA_HOME C:\Program Files (x86)\Java\ ...
- css3各个属性的兼容
1.transition:IE10. Firefox.Opera.Chrome支持: Safari支持替代的-webkit-transition属性: 2.animation: IE10.FIrefo ...
- Openwrt 编译报错:rootfs image is too big解决方法
修改: tools/firmware-utils/src/mktplinkfw2.c static struct flash_layout layouts[] = { { .id = "8M ...
- 【Python扩展阅读【转】】字符串的方法及注释
capitalize() 把字符串的第一个字符改为大写 casefold() 把整个字符串的所有字符改为小写 center(width) 将字符串居中,并使用空格填充至长度wi ...
- win8.1安装Matlab7.0的兼容问题
Matlab7.0安装完成后打开就立即关闭,此时右键点击MATLAB7.0快捷方式-"用图形处理器运行"-"更改默认图形处理器",将"集成图形&qu ...
- Android中Activity的生命周期
简介: 这个基本是必问的问题了,说一下你对Activity生命周期的理解,呵呵… onCreate, onStart, onResume, onPause, onStop, onDestroy, on ...