JAVA学习博客---2015.5

    上一次的学习博客写的和流水账差不多,有点生硬的和背目录一样,所以既然学习的目的是程序,那么这个月的学习博客就用程序来说点东西吧。这个月看了一些C和JAVA的视频,开始看别人写的程序,能看的懂但是自己去写的话前后逻辑还有方法类的使用不是很清楚。好吧,先去膜拜大神,一步一步来吧。

 

  先来说一个C的程序。这个程序是把一个十进制的数字转成二进制的编码,十进制当中是逢十进一,二进制逢二进一,无论是什么样的语言写的任何程序,在计算机里面的记录方法均为二进制。

#include<iostream>
using namespace std;
int main()
{int T;cin >> T;while(T--){unsigned int n;char bas[30];cin >> n;unsigned int k = 0;if(n == 0)cout<<0;else{while(n){if(n & 1)bas[k++] = '1';elsebas[k++] = '0';n >>= 1;}}for(int i=k-1;i >= 0;i--){cout << bas[i];}cout << endl;}
}

 

 

 #include<iostream>
这个是C的标准I/O头文件,标准库定义了 4 个 IO 对象。处理输入时使用命名为 cin(读作 see-in)的 istream 类型对象。这个对象也称为标准输入。处理输出时使用命名为 cout(读作 see-out)的 ostream 类型对象,这个对象也称为标准输出。

程序里面有输入输出的内容所以这个是必不可少的                                                                                     using namespace std;

namespace是指标识符的各种可见范围。命名空间用关键字namespace 来定义。命名空间是C++的一种机制,用来把单个标识符下的大量有逻辑联系的程序实体组合到一起。此标识符作为此组群的名字。

即让std内定义的所有标示符都是有效,相当于一个全局变量。

int char

这些标示符是用来声明变量的类型,int整数,char符号。在这个程序当中声明了T为int类型,把bas为char字符变量。

       if else

标准的if语句,即如果,不然。用来建立条件入口。

   while

循环语句,计算机的一种基本循环模式。当满足条件时进入循环,不满足跳出。这里的程序要求用户输入一个变量的T,入口条件当T--   unsigned int  在函数体内用到了unsigned int, 是使用无符号的整数类型。
char bas[30];
建立一个数组长度为30的char 数组。
for(int i=k-1;i >= 0;i--)
for循环条件入口,当整数i等于k-1,且i>=0,就i--,若第一个条件为假,后面的算式就不执行了。
看明白这个程序还有一个很重要的东西就是明白十进制转化为二进制的原理,基本的算法是这样的。
用x表示十进制的x,假定x变成2进制后的数为三位abc,其中a为最高位,b为次高位,c为最低位。

则有 x = a*2^2 + b*2^1 + c*2^0= 4a+2b+c
所以
x%2 = c,
x/2 = a*2 + b
令x=x/2,则x=a*2+b
x%2 = b,
x/2 = a
令x=x/2,则x=a
x%2 = a
x/2 = 0
故每一步的余数为:
c, b, a
把它们颠倒,就得到a,b,c

原理只有一条,可以证明/看出每次除以2的余数正好是2进制的每一个数。(……看了好半天……)
这个是一个非常短的程序,一个很实用的小工具,它可以作为一个方法放到一个class当中,也可以把这个当做父类做继承。
 
 
现在来说一个JAVA程序。
import javax.swing.JOptionPane; // program uses JOptionPanepublic class Converter {public static void main(String args[]) {String firstNumber;double number1 = 0;double number2 = 0;boolean loop = true;while (loop) {firstNumber = JOptionPane.showInputDialog("请输入华氏温度");try {number1 = Double.parseDouble(firstNumber);loop = false;} catch (NumberFormatException e) {// (2)当用户输入错误数据时候,提示用户输入错误,并要求用户重新输入内容。JOptionPane.showMessageDialog(null, "输入错误,请重新输入华氏温度.", "输入",JOptionPane.PLAIN_MESSAGE);}}// 摄氏度=(5/9)*(华氏度-32) , 即 摄氏度=(华氏度-32)÷1.8// secondNumber = JOptionPane.showInputDialog("输入被乘数");number2 = (number1 - 32) / 1.8;JOptionPane.showMessageDialog(null, number1 + "华氏度 = " + number2+ "摄氏度", "结果", JOptionPane.PLAIN_MESSAGE);} // end method main
} // end class Addition

  


 这是一个将华氏度转化成为一个摄氏度的程序

//后面是注释,程序不读这些内容

当然这个程序的算法也是基于华氏度和摄氏度的转化算法

摄氏度=(5/9)*(华氏度-32)

程度考虑到用户输入错误的情况。

 

感觉C和JAVA有种不一样的使用方法,JAVA喜欢调用很多已有的东西,C喜欢设定一些规则。

 

-------------------------------------------------------------------------------

因为主要是去学JAVA的,所以现在主要看别人写的JAVA代码,先去明白基本的规则,目前还是很菜,在敲别人的代码的同时去想别人为什么这么写,这样的设计有什么好处,或者这些代码能不能够作为其他程序的一个方法。TUT。

转载于:https://www.cnblogs.com/hello-2015/p/4523694.html

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

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

相关文章

ABP vNext微服务架构详细教程——项目部署

1基础配置在之前的文章中&#xff0c;我们已经配置了Kubernetes集群并安装了管理工具Kubesphere&#xff0c;文章地址为&#xff1a;https://mp.weixin.qq.com/s/MgpdMv5A-fYxN7XY8N9Djw登录Kubesphere页面&#xff0c;打开工作台&#xff0c;在平台资源选项卡中点击“企业空间…

LeetCode之Sqrt(x)

1、题目 Implement int sqrt(int x). Compute and return the square root of x. Subscribe to see which companies asked this question. 2、代码实现 public class Solution {public int mySqrt(int x) {if (x < 0)return -1;if (x 0)return 0; if (x 1) return 1;int …

offsetTop和scrollTop的差别

近期想写个组件&#xff0c;结果被这两个属性搞的有点晕&#xff0c;查了下文档和资料&#xff0c;对这两个属性总结例如以下&#xff1a; 一直以来对offsetLeft&#xff0c;offsetTop&#xff0c;scrollLeft&#xff0c;scrollTop这几个方法非常迷糊&#xff0c;花了一天的时间…

php post授权编写,php模拟post行为代码总结(POST方式不是绝对安全)

GET行为比较简单&#xff0c;POST比较复杂一些。这里提供两种方法供选择&#xff1a;第一&#xff1a;手写代码。第二&#xff1a;利用HttpClient php类库第一种方法&#xff1a;PHP代码$flag 0;//要post的数据$argv array(var1>abc,var2>你好吗);//构造要post的字符串…

走向思考

走向思考 最近因为工作的原因&#xff0c;好几天没有更新文章了...... 今天下午面试回来(以失败告终)&#xff0c;睡了一觉&#xff0c;夜里不困&#xff0c;于是就写了写说起工作(我指的是软件行业&#xff0c;其他专业也雷同)&#xff0c;怎么说呢&#xff1f;只有亲身体会才…

quartz (一) 基于 Quartz 开发企业级任务调度应用

本文转自&#xff1a;http://www.ibm.com/developerworks/cn/opensource/os-cn-quartz/ Quartz 基本概念及原理 Quartz Scheduler 开源框架 Quartz 是 OpenSymphony 开源组织在任务调度领域的一个开源项目&#xff0c;完全基于 Java 实现。该项目于 2009 年被 Terracotta 收购&…

C# 11 中的参数 null 检查

C# 11 中的参数 null 检查IntroC# 11 将引入一个新的操作符 !! 来简化我们代码中的对于参数的 null 检查&#xff0c;昨天发布的 .NET 7 Preview 1 已经支持了这一语法&#xff0c;感兴趣的不妨来试一下吧&#xff0c;下面我们就来看一下如何使用吧Prepare如果你想在本地代码中…

java之简单的Callback使用总结

1、什么是Callback,什么时候需要使用Callback callback是回调的意思&#xff0c;一般我们需要2个类需要相互掉用&#xff0c;一个类把数据动态传递给另外一个类的时候&#xff0c;可以用这种方式&#xff0c;比如Android里面的Launcher类和LauncherModel类&#xff0c;Launcher…

2017-03-10Git版本回退

1再次修改内容&#xff1a;Git is a distributed version control system. Git is free software distributed under the GPL. 2提交&#xff1a;$ git add readme.txt$ git commit -m "append GPL" [master 3628164] append GPL 1 file changed, 1 insertion(), 1 d…

cms的 php代码,KingCMS/PHP可执行代码

实例:Example :{king:title/}{king:content/}作者:{king:_author/}上面的代码没有什么特别的地方&#xff0c;但客户的要求有了变化&#xff0c;他想在详细页的内容开始前调用缩略图&#xff0c;没有则忽略。所以问题也来了&#xff0c;因为有的文章有缩略图&#xff0c;有的没…

Android之用命令uninstall卸载apk和用 -i 过滤日志忽略大小写

1、卸载apk adb uninstall package adb uninstall ***.apk 上面是正确的&#xff0c;记得是加包名&#xff0c;不是apk 2、过滤日志忽略大小写 adb logcat | grep -i launcher 记住是需要加上 -i

CentOS单机安装k8s并部署.NET 6程序

学习云原生&#xff0c;k8s 是一个基础&#xff0c;为了做一些实验&#xff0c;单机部署是最方便的&#xff0c;下面将介绍在 CentOS 中单机安装 k8s &#xff0c;并将一个 .NET 6 的程序发布到 k8s 中。环境宿主机&#xff1a;Mac 10.15.7CentOS版本&#xff1a;7.6内存&#…

Elementary OS 系统Java8环境的配置

Elementary OS刚安装完后中文包语言包有点不全&#xff0c;安装后去设置——语言里面更新下后注销就可以了1&#xff0c;官网下载完安装包后直接解压2&#xff0c;设置环境变量安装VIM的情况下直接sudo vi /etc/profile按I健进行编辑&#xff0c;ti添加以下内容&#xff1a;exp…

php session缓存,扫盲:php session缓存至memcached中的方法

memcached是一套分布式的快取系统&#xff0c;当初是DangaInteractive为了LiveJournal所发展的&#xff0c;但被许多软件(如MediaWiki)所使用。这是一套开放源代码软件&#xff0c;以BSDlicens更改为&#xff1a;session.save_handler memcachesession.save_path"tcp://12…

《随笔记录》20170310

1 爱一个人&#xff0c;最低层次的是想通过对方实现某种上位&#xff0c;这是一种寄生的心理&#xff1b;可贵一些的&#xff0c;是把自己认为最好的理所当然地认为对方也会喜欢而强迫对方接纳&#xff0c;这是失了尊重之心&#xff1b;再好一点就是&#xff0c;只是单纯地对对…

MASA Framework - DDD设计(2)

Clean Architecture国内对于Clean Architecture的翻译很多&#xff0c;干净/整洁/清晰。但无论哪一种都说明了它简洁、清晰的特性。早期它长这样看到这张图的同学可能会对另外一张图有印象洋葱架构(Onion)现在长这样看起来好像是亲戚&#xff0c;它们的确也有着千丝万缕的关系分…

Android之什么时候调用onSaveInstance方法的时候(为什么按Home键盘会调用,按Back不调用)

1、函数介绍 1)、onCreate(Bundle savedInstanceState) 方法 Activity 创建时回调 : 该方法会自动传入一个 Bundle 对象, 该 Bundle 对象就是上次被系统销毁时在 onSaveInstanceState 或者 onRestoreInstanceState 中保存的数据 -- 注意 : 只有是系统自动回收的时候才会保存…

SublimeText2 快捷键一览表

Sublime Text比起Notepad&#xff0c;UltraEdit之类Code编辑器来说&#xff0c;其功能有过之而无不及&#xff0c;配合着各种插件使用&#xff0c;Sublime Text在实际的使用中变得非常的顺手——当然&#xff0c;如果你还不顺手&#xff0c;那就请顺手写个插件吧。而在众多功能…

SpringMVC核心分发器DispatcherServlet分析[附带源码分析]

目录 前言DispatcherServlet初始化过程DispatcherServlet处理请求过程总结参考资料前言 SpringMVC是目前主流的Web MVC框架之一。 如果有同学对它不熟悉&#xff0c;那么请参考它的入门blog&#xff1a;http://www.cnblogs.com/fangjian0423/p/springMVC-introduction.html 本…

proto2语法

proto文件 protobuf的定义是通过proto文件进行定义的&#xff0c;一个标准的类型如下&#xff1a; message SearchRequest {required string query 1;optional int32 page_number 2 [default 10];optional int32 result_per_page 3; } 其中message定义了类型名字&#xff0…